diff --git a/src/Orchard.Web/Modules/Orchard.Layouts/Assets/JavaScript/LayoutEditor/Services/ScopeConfigurator.js b/src/Orchard.Web/Modules/Orchard.Layouts/Assets/JavaScript/LayoutEditor/Services/ScopeConfigurator.js index 81a46cd59..b8b6f715f 100644 --- a/src/Orchard.Web/Modules/Orchard.Layouts/Assets/JavaScript/LayoutEditor/Services/ScopeConfigurator.js +++ b/src/Orchard.Web/Modules/Orchard.Layouts/Assets/JavaScript/LayoutEditor/Services/ScopeConfigurator.js @@ -228,8 +228,8 @@ return $(e).height(); })); for (i = 1; i <= 12; i++) - ui.placeholder.removeClass("col-xs-" + i); - ui.placeholder.addClass("col-xs-" + receivedColumn.width); + ui.placeholder.removeClass("col-" + i); + ui.placeholder.addClass("col-" + receivedColumn.width); if (maxHeight > 0) { ui.placeholder.height(maxHeight); ui.placeholder.css("min-height", 0); @@ -321,8 +321,8 @@ result.push("layout-row-full"); } if (child.type == "Column") { - result.push("col-xs-" + child.width); - result.push("col-xs-offset-" + child.offset); + result.push("col-" + child.width); + result.push("col-offset-" + child.offset); } if (child.type == "Content") result.push("layout-content-" + child.contentTypeClass); diff --git a/src/Orchard.Web/Modules/Orchard.Layouts/Assets/Less/LayoutEditor/Row.less b/src/Orchard.Web/Modules/Orchard.Layouts/Assets/Less/LayoutEditor/Row.less index 4f0732362..135670cdf 100644 --- a/src/Orchard.Web/Modules/Orchard.Layouts/Assets/Less/LayoutEditor/Row.less +++ b/src/Orchard.Web/Modules/Orchard.Layouts/Assets/Less/LayoutEditor/Row.less @@ -17,5 +17,14 @@ } } } + + > div > .layout-children { + display: flex; + flex-direction: row; + } + } + + .layout-column > div > .layout-children { + flex-direction: column; } } \ No newline at end of file diff --git a/src/Orchard.Web/Modules/Orchard.Layouts/Scripts/LayoutEditor.js b/src/Orchard.Web/Modules/Orchard.Layouts/Scripts/LayoutEditor.js index 493dad5cf..75a089d87 100644 --- a/src/Orchard.Web/Modules/Orchard.Layouts/Scripts/LayoutEditor.js +++ b/src/Orchard.Web/Modules/Orchard.Layouts/Scripts/LayoutEditor.js @@ -255,8 +255,8 @@ angular return $(e).height(); })); for (i = 1; i <= 12; i++) - ui.placeholder.removeClass("col-xs-" + i); - ui.placeholder.addClass("col-xs-" + receivedColumn.width); + ui.placeholder.removeClass("col-" + i); + ui.placeholder.addClass("col-" + receivedColumn.width); if (maxHeight > 0) { ui.placeholder.height(maxHeight); ui.placeholder.css("min-height", 0); @@ -338,8 +338,8 @@ angular result.push("layout-row-full"); } if (child.type == "Column") { - result.push("col-xs-" + child.width); - result.push("col-xs-offset-" + child.offset); + result.push("col-" + child.width); + result.push("col-offset-" + child.offset); } if (child.type == "Content") result.push("layout-content-" + child.contentTypeClass); @@ -888,4 +888,4 @@ angular } ]); -//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIk9yY2hhcmQuV2ViL01vZHVsZXMvT3JjaGFyZC5MYXlvdXRzL0Fzc2V0cy9KYXZhU2NyaXB0L0xheW91dEVkaXRvci9Nb2R1bGUuanMiLCJPcmNoYXJkLldlYi9Nb2R1bGVzL09yY2hhcmQuTGF5b3V0cy9Bc3NldHMvSmF2YVNjcmlwdC9MYXlvdXRFZGl0b3IvU2VydmljZXMvQ2xpcGJvYXJkLmpzIiwiT3JjaGFyZC5XZWIvTW9kdWxlcy9PcmNoYXJkLkxheW91dHMvQXNzZXRzL0phdmFTY3JpcHQvTGF5b3V0RWRpdG9yL1NlcnZpY2VzL1Njb3BlQ29uZmlndXJhdG9yLmpzIiwiT3JjaGFyZC5XZWIvTW9kdWxlcy9PcmNoYXJkLkxheW91dHMvQXNzZXRzL0phdmFTY3JpcHQvTGF5b3V0RWRpdG9yL0RpcmVjdGl2ZXMvRWRpdG9yLmpzIiwiT3JjaGFyZC5XZWIvTW9kdWxlcy9PcmNoYXJkLkxheW91dHMvQXNzZXRzL0phdmFTY3JpcHQvTGF5b3V0RWRpdG9yL0RpcmVjdGl2ZXMvQ2FudmFzLmpzIiwiT3JjaGFyZC5XZWIvTW9kdWxlcy9PcmNoYXJkLkxheW91dHMvQXNzZXRzL0phdmFTY3JpcHQvTGF5b3V0RWRpdG9yL0RpcmVjdGl2ZXMvQ2hpbGQuanMiLCJPcmNoYXJkLldlYi9Nb2R1bGVzL09yY2hhcmQuTGF5b3V0cy9Bc3NldHMvSmF2YVNjcmlwdC9MYXlvdXRFZGl0b3IvRGlyZWN0aXZlcy9Db2x1bW4uanMiLCJPcmNoYXJkLldlYi9Nb2R1bGVzL09yY2hhcmQuTGF5b3V0cy9Bc3NldHMvSmF2YVNjcmlwdC9MYXlvdXRFZGl0b3IvRGlyZWN0aXZlcy9Db250ZW50LmpzIiwiT3JjaGFyZC5XZWIvTW9kdWxlcy9PcmNoYXJkLkxheW91dHMvQXNzZXRzL0phdmFTY3JpcHQvTGF5b3V0RWRpdG9yL0RpcmVjdGl2ZXMvR3JpZC5qcyIsIk9yY2hhcmQuV2ViL01vZHVsZXMvT3JjaGFyZC5MYXlvdXRzL0Fzc2V0cy9KYXZhU2NyaXB0L0xheW91dEVkaXRvci9EaXJlY3RpdmVzL1Jvdy5qcyIsIk9yY2hhcmQuV2ViL01vZHVsZXMvT3JjaGFyZC5MYXlvdXRzL0Fzc2V0cy9KYXZhU2NyaXB0L0xheW91dEVkaXRvci9EaXJlY3RpdmVzL1BvcHVwLmpzIiwiT3JjaGFyZC5XZWIvTW9kdWxlcy9PcmNoYXJkLkxheW91dHMvQXNzZXRzL0phdmFTY3JpcHQvTGF5b3V0RWRpdG9yL0RpcmVjdGl2ZXMvVG9vbGJveC5qcyIsIk9yY2hhcmQuV2ViL01vZHVsZXMvT3JjaGFyZC5MYXlvdXRzL0Fzc2V0cy9KYXZhU2NyaXB0L0xheW91dEVkaXRvci9EaXJlY3RpdmVzL1Rvb2xib3hHcm91cC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sQ0FBQyxNQUFNLENBQUMsY0FBYyxFQUFFLENBQUMsWUFBWSxFQUFFLFlBQVksRUFBRSxhQUFhLENBQUMsQ0FBQyxDQUFDO0FDQTVFLElBQUksWUFBWSxDQUFDO0FBQ2pCLENBQUMsVUFBUyxZQUFZO0lBRWxCLElBQUksU0FBUyxHQUFHO1FBQ1osSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2hCLElBQUksQ0FBQyxjQUFjLEdBQUcsRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO1FBRXpCLElBQUksQ0FBQyxPQUFPLEdBQUcsVUFBUyxXQUFXLEVBQUUsSUFBSTtZQUNyQyxJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxHQUFHLElBQUksQ0FBQztZQUN4QyxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztRQUM1QixDQUFDLENBQUM7UUFDRixJQUFJLENBQUMsT0FBTyxHQUFHLFVBQVUsV0FBVztZQUNoQyxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztZQUN4QixNQUFNLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUM1QyxDQUFDLENBQUM7UUFDRixJQUFJ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TFAsT0FBTztLQUNGLE1BQU0sQ0FBQyxjQUFjLENBQUM7S0FDdEIsU0FBUyxDQUFDLHVCQUF1QixFQUFFLENBQUMsVUFBVSxFQUFFLGFBQWE7SUFDMUQsVUFBVSxRQUFRLEVBQUUsV0FBVztRQUMzQixNQUFNLENBQUM7WUFDSCxRQUFRLEVBQUUsR0FBRztZQUNiLEtBQUssRUFBRSxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUU7WUFDeEIsVUFBVSxFQUFFLENBQUMsUUFBUSxFQUFFLFVBQVU7Z0JBQzdCLFVBQVUsTUFBTSxFQUFFLFFBQVE7b0JBQ3RCLElBQUkscUJBQXFCLEdBQUcsd0JBQXdCLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEdBQUcsY0FBYyxDQUFDO29CQUM3RixNQUFNLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMscUJBQXFCLENBQUMsS0FBSyxNQUFNLENBQUM7b0JBQ2hFLE1BQU0sQ0FBQyxpQkFBaUIsR0FBRyxVQUFVLENBQUM7d0JBQ2xDLE1BQU0sQ0FBQyxXQUFXLEdBQUcsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDO3dCQUN6QyxDQUFDLENBQUMsTUFBTSxDQUFDLHFCQUFxQixFQUFFLE1BQU0sQ0FBQyxXQUFXLEVBQUUsRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLHVDQUF1Qzt3QkFDOUcsQ0FBQyxDQUFDLGNBQWMsRUFBRSxDQUFDO3dCQUNuQixDQUFDLENBQUMsZUFBZSxFQUFFLENBQUM7b0JBQ3hCLENBQUMsQ0FBQztnQkFDTixDQUFDO2FBQ0o7WUFDRCxXQUFXLEVBQUUsV0FBVyxDQUFDLFdBQVcsQ0FBQyxjQUFjLENBQUM7WUFDcEQsT0FBTyxFQUFFLElBQUk7U0FDaEIsQ0FBQztJQUNOLENBQUM7Q0FDSixDQUFDLENBQUMiLCJmaWxlIjoiTGF5b3V0RWRpdG9yLmpzIiwic291cmNlc0NvbnRlbnQiOlsiYW5ndWxhci5tb2R1bGUoXCJMYXlvdXRFZGl0b3JcIiwgW1wibmdTYW5pdGl6ZVwiLCBcIm5nUmVzb3VyY2VcIiwgXCJ1aS5zb3J0YWJsZVwiXSk7IiwidmFyIExheW91dEVkaXRvcjtcclxuKGZ1bmN0aW9uKExheW91dEVkaXRvcikge1xyXG5cclxuICAgIHZhciBDbGlwYm9hcmQgPSBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgdmFyIHNlbGYgPSB0aGlzO1xyXG4gICAgICAgIHRoaXMuX2NsaXBib2FyZERhdGEgPSB7fTtcclxuICAgICAgICB0aGlzLl9pc0Rpc2FibGVkID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5fd2FzSW52b2tlZCA9IGZhbHNlO1xyXG5cclxuICAgICAgICB0aGlzLnNldERhdGEgPSBmdW5jdGlvbihjb250ZW50VHlwZSwgZGF0YSkge1xyXG4gICAgICAgICAgICBzZWxmLl9jbGlwYm9hcmREYXRhW2NvbnRlbnRUeXBlXSA9IGRhdGE7XHJcbiAgICAgICAgICAgIHNlbGYuX3dhc0ludm9rZWQgPSB0cnVlO1xyXG4gICAgICAgIH07XHJcbiAgICAgICAgdGhpcy5nZXREYXRhID0gZnVuY3Rpb24gKGNvbnRlbnRUeXBlKSB7XHJcbiAgICAgICAgICAgIHNlbGYuX3dhc0ludm9rZWQgPSB0cnVlO1xyXG4gICAgICAgICAgICByZXR1cm4gc2VsZi5fY2xpcGJvYXJkRGF0YVtjb250ZW50VHlwZV07XHJcbiAgICAgICAgfTtcclxuICAgICAgICB0aGlzLmRpc2FibGUgPSBmdW5jdGlvbigpIHtcclxuICAgICAgICAgICAgc2VsZi5faXNEaXNhYmxlZCA9IHRydWU7XHJcbiAgICAgICAgICAgIHNlbGYuX3dhc0ludm9rZWQgPSBmYWxzZTtcclxuICAgICAgICAgICAgc2VsZi5fY2xpcGJvYXJkRGF0YSA9IHt9O1xyXG4gICAgICAgIH07XHJcbiAgICAgICAgdGhpcy5pc0Rpc2FibGVkID0gZnVuY3Rpb24gKCkge1xyXG4gICAgICAgICAgICByZXR1cm4gc2VsZi5faXNEaXNhYmxlZDtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy53YXNJbnZva2VkID0gZnVuY3Rpb24gKCkge1xyXG4gICAgICAgICAgICByZXR1cm4gc2VsZi5fd2FzSW52b2tlZDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgTGF5b3V0RWRpdG9yLkNsaXBib2FyZCA9IG5ldyBDbGlwYm9hcmQoKTtcclxuXHJcbiAgICBhbmd1bGFyXHJcbiAgICAgICAgLm1vZHVsZShcIkxheW91dEVkaXRvclwiKVxyXG4gICAgICAgIC5mYWN0b3J5KFwiY2xpcGJvYXJkXCIsIFtcclxuICAgICAgICAgICAgZnVuY3Rpb24oKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHNldERhdGE6IExheW91dEVkaXRvci5DbGlwYm9hcmQuc2V0RGF0YSxcclxuICAgICAgICAgICAgICAgICAgICBnZXREYXRhOiBMYXlvdXRFZGl0b3IuQ2xpcGJvYXJkLmdldERhdGEsXHJcbiAgICAgICAgICAgICAgICAgICAgZGlzYWJsZTogTGF5b3V0RWRpdG9yLkNsaXBib2FyZC5kaXNhYmxlLFxyXG4gICAgICAgICAgICAgICAgICAgIGlzRGlzYWJsZWQ6IExheW91dEVkaXRvci5DbGlwYm9hcmQuaXNEaXNhYmxlZCxcclxuICAgICAgICAgICAgICAgICAgICB3YXNJbnZva2VkOiBMYXlvdXRFZGl0b3IuQ2xpcGJvYXJkLndhc0ludm9rZWRcclxuICAgICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICBdKTtcclxufSkoTGF5b3V0RWRpdG9yIHx8IChMYXlvdXRFZGl0b3IgPSB7fSkpOyIsImFuZ3VsYXJcclxuICAgIC5tb2R1bGUoXCJMYXlvdXRFZGl0b3JcIilcclxuICAgIC5mYWN0b3J5KFwic2NvcGVDb25maWd1cmF0b3JcIiwgW1wiJHRpbWVvdXRcIiwgXCJjbGlwYm9hcmRcIixcclxuICAgICAgICBmdW5jdGlvbiAoJHRpbWVvdXQsIGNsaXBib2FyZCkge1xyXG4gICAgICAgICAgICByZXR1cm4ge1xyXG5cclxuICAgICAgICAgICAgICAgIGNvbmZpZ3VyZUZvckVsZW1lbnQ6IGZ1bmN0aW9uICgkc2NvcGUsICRlbGVtZW50KSB7XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAkZWxlbWVudC5maW5kKFwiLmxheW91dC1wYW5lbFwiKS5jbGljayhmdW5jdGlvbiAoZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgICAgICAgICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAkZWxlbWVudC5wYXJlbnQoKS5rZXlkb3duKGZ1bmN0aW9uIChlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBoYW5kbGVkID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciByZXNldEZvY3VzID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBlbGVtZW50ID0gJHNjb3BlLmVsZW1lbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChlbGVtZW50LmVkaXRvci5pc0RyYWdnaW5nKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gSWYgbmF0aXZlIGNsaXBib2FyZCBzdXBwb3J0IGV4aXN0cywgdGhlIHBzZXVkby1jbGlwYm9hcmQgd2lsbCBoYXZlIGJlZW4gZGlzYWJsZWQuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghY2xpcGJvYXJkLmlzRGlzYWJsZWQoKSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGZvY3VzZWRFbGVtZW50ID0gZWxlbWVudC5lZGl0b3IuZm9jdXNlZEVsZW1lbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoISFmb2N1c2VkRWxlbWVudCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFBzZXVkbyBjbGlwYm9hcmQgaGFuZGxpbmcgZm9yIGJyb3dzZXJzIG5vdCBhbGxvd2luZyByZWFsIGNsaXBib2FyZCBvcGVyYXRpb25zLlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChlLmN0cmxLZXkpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3dpdGNoIChlLndoaWNoKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgNjc6IC8vIENcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvY3VzZWRFbGVtZW50LmNvcHkoY2xpcGJvYXJkKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDg4OiAvLyBYXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb2N1c2VkRWxlbWVudC5jdXQoY2xpcGJvYXJkKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDg2OiAvLyBWXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb2N1c2VkRWxlbWVudC5wYXN0ZShjbGlwYm9hcmQpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghZS5jdHJsS2V5ICYmICFlLnNoaWZ0S2V5ICYmICFlLmFsdEtleSAmJiBlLndoaWNoID09IDQ2KSB7IC8vIERlbFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJHNjb3BlLmRlbGV0ZShlbGVtZW50KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZWQgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKCFlLmN0cmxLZXkgJiYgIWUuc2hpZnRLZXkgJiYgIWUuYWx0S2V5ICYmIChlLndoaWNoID09IDMyIHx8IGUud2hpY2ggPT0gMjcpKSB7IC8vIFNwYWNlIG9yIEVzY1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJGVsZW1lbnQuZmluZChcIi5sYXlvdXQtcGFuZWwtYWN0aW9uLXByb3BlcnRpZXNcIikuZmlyc3QoKS5jbGljaygpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlZCA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghIWVsZW1lbnQuaGFzRWRpdG9yKSB7IC8vIFRoaXMgZWxlbWVudCBoYXMgYW4gZWRpdG9yIGRpYWxvZy5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghZS5jdHJsS2V5ICYmICFlLnNoaWZ0S2V5ICYmICFlLmFsdEtleSAmJiBlLndoaWNoID09IDEzKSB7IC8vIEVudGVyXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGVsZW1lbnQuZmluZChcIi5sYXlvdXQtcGFuZWwtYWN0aW9uLWVkaXRcIikuZmlyc3QoKS5jbGljaygpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZWQgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoISFlbGVtZW50LmNoaWxkcmVuKSB7IC8vIFRoaXMgaXMgYSBjb250YWluZXIuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWUuY3RybEtleSAmJiAhZS5zaGlmdEtleSAmJiBlLmFsdEtleSAmJiBlLndoaWNoID09IDQwKSB7IC8vIEFsdCtEb3duXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGVsZW1lbnQuY2hpbGRyZW4ubGVuZ3RoID4gMClcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxlbWVudC5jaGlsZHJlblswXS5zZXRJc0ZvY3VzZWQoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGVkID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZWxlbWVudC50eXBlID09IFwiQ29sdW1uXCIpIHsgLy8gVGhpcyBpcyBhIGNvbHVtbi5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgY29ubmVjdEFkamFjZW50ID0gIWUuY3RybEtleTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZS53aGljaCA9PSAzNykgeyAvLyBMZWZ0XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChlLmFsdEtleSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnQuZXhwYW5kTGVmdChjb25uZWN0QWRqYWNlbnQpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZS5zaGlmdEtleSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnQuY29udHJhY3RSaWdodChjb25uZWN0QWRqYWNlbnQpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGVkID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGUud2hpY2ggPT0gMzkpIHsgLy8gUmlnaHRcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGUuYWx0S2V5KVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxlbWVudC5jb250cmFjdExlZnQoY29ubmVjdEFkamFjZW50KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGUuc2hpZnRLZXkpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbGVtZW50LmV4cGFuZFJpZ2h0KGNvbm5lY3RBZGphY2VudCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZWQgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCEhZWxlbWVudC5wYXJlbnQpIHsgLy8gVGhpcyBpcyBhIGNoaWxkLlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGUuYWx0S2V5ICYmIGUud2hpY2ggPT0gMzgpIHsgLy8gQWx0K1VwXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxlbWVudC5wYXJlbnQuc2V0SXNGb2N1c2VkKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlZCA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGVsZW1lbnQucGFyZW50LnR5cGUgPT0gXCJSb3dcIikgeyAvLyBQYXJlbnQgaXMgYSBob3Jpem9udGFsIGNvbnRhaW5lci5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWUuY3RybEtleSAmJiAhZS5zaGlmdEtleSAmJiAhZS5hbHRLZXkgJiYgZS53aGljaCA9PSAzNykgeyAvLyBMZWZ0XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnQucGFyZW50Lm1vdmVGb2N1c1ByZXZDaGlsZChlbGVtZW50KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlZCA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKCFlLmN0cmxLZXkgJiYgIWUuc2hpZnRLZXkgJiYgIWUuYWx0S2V5ICYmIGUud2hpY2ggPT0gMzkpIHsgLy8gUmlnaHRcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxlbWVudC5wYXJlbnQubW92ZUZvY3VzTmV4dENoaWxkKGVsZW1lbnQpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGVkID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAoZS5jdHJsS2V5ICYmICFlLnNoaWZ0S2V5ICYmICFlLmFsdEtleSAmJiBlLndoaWNoID09IDM3KSB7IC8vIEN0cmwrTGVmdFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbGVtZW50Lm1vdmVVcCgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNldEZvY3VzID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlZCA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKGUuY3RybEtleSAmJiAhZS5zaGlmdEtleSAmJiAhZS5hbHRLZXkgJiYgZS53aGljaCA9PSAzOSkgeyAvLyBDdHJsK1JpZ2h0XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnQubW92ZURvd24oKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlZCA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSB7IC8vIFBhcmVudCBpcyBhIHZlcnRpY2FsIGNvbnRhaW5lci5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWUuY3RybEtleSAmJiAhZS5zaGlmdEtleSAmJiAhZS5hbHRLZXkgJiYgZS53aGljaCA9PSAzOCkgeyAvLyBVcFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbGVtZW50LnBhcmVudC5tb3ZlRm9jdXNQcmV2Q2hpbGQoZWxlbWVudCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZWQgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlIGlmICghZS5jdHJsS2V5ICYmICFlLnNoaWZ0S2V5ICYmICFlLmFsdEtleSAmJiBlLndoaWNoID09IDQwKSB7IC8vIERvd25cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxlbWVudC5wYXJlbnQubW92ZUZvY3VzTmV4dENoaWxkKGVsZW1lbnQpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGVkID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAoZS5jdHJsS2V5ICYmICFlLnNoaWZ0S2V5ICYmICFlLmFsdEtleSAmJiBlLndoaWNoID09IDM4KSB7IC8vIEN0cmwrVXBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxlbWVudC5tb3ZlVXAoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzZXRGb2N1cyA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZWQgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlIGlmIChlLmN0cmxLZXkgJiYgIWUuc2hpZnRLZXkgJiYgIWUuYWx0S2V5ICYmIGUud2hpY2ggPT0gNDApIHsgLy8gQ3RybCtEb3duXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnQubW92ZURvd24oKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlZCA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoaGFuZGxlZCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgJHNjb3BlLiRhcHBseSgpOyAvLyBFdmVudCBpcyBub3QgdHJpZ2dlcmVkIGJ5IEFuZ3VsYXIgZGlyZWN0aXZlIGJ1dCByYXcgZXZlbnQgaGFuZGxlciBvbiBlbGVtZW50LlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gSEFDSzogV29ya2Fyb3VuZCBiZWNhdXNlIG9mIGhvdyBBbmd1bGFyIHRyZWF0cyB0aGUgRE9NIHdoZW4gZWxlbWVudHMgYXJlIHNoaWZ0ZWQgYXJvdW5kIC0gaW5wdXQgZm9jdXMgaXMgc29tZXRpbWVzIGxvc3QuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChyZXNldEZvY3VzKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aW5kb3cuc2V0VGltZW91dChmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHNjb3BlLiRhcHBseShmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnQuZWRpdG9yLmZvY3VzZWRFbGVtZW50LnNldElzRm9jdXNlZCgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgMTAwKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAkc2NvcGUuZWxlbWVudC5zZXRJc0ZvY3VzZWRFdmVudEhhbmRsZXJzLnB1c2goZnVuY3Rpb24gKCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAkZWxlbWVudC5wYXJlbnQoKS5mb2N1cygpO1xyXG4gICAgICAgICAgICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAkc2NvcGUuZGVsZXRlID0gZnVuY3Rpb24gKGVsZW1lbnQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZWxlbWVudC5kZWxldGUoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgJC5ldmVudC50cmlnZ2VyKHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IFwibGF5b3V0ZWRpdG9yOmVkaXRlZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKCRzY29wZS5lbGVtZW50Lmhhc0VkaXRvcikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAkc2NvcGUuZWRpdCA9IGZ1bmN0aW9uICgpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICRzY29wZS4kcm9vdC5lZGl0RWxlbWVudCgkc2NvcGUuZWxlbWVudCkuZG9uZShmdW5jdGlvbiAoYXJncykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRzY29wZS4kYXBwbHkoZnVuY3Rpb24gKCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoYXJncy5jYW5jZWwpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkc2NvcGUuZWxlbWVudC5kYXRhID0gYXJncy5lbGVtZW50LmRhdGE7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRzY29wZS5lbGVtZW50LmFwcGx5RWxlbWVudEVkaXRvck1vZGVsKGFyZ3MuZWxlbWVudEVkaXRvck1vZGVsKTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghISRzY29wZS5lbGVtZW50LnNldEh0bWwpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkc2NvcGUuZWxlbWVudC5zZXRIdG1sKGFyZ3MuZWxlbWVudC5odG1sKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH0sXHJcblxyXG4gICAgICAgICAgICAgICAgY29uZmlndXJlRm9yQ29udGFpbmVyOiBmdW5jdGlvbiAoJHNjb3BlLCAkZWxlbWVudCkge1xyXG4gICAgICAgICAgICAgICAgICAgIHZhciBlbGVtZW50ID0gJHNjb3BlLmVsZW1lbnQ7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIC8vJHNjb3BlLmlzUmVjZWl2aW5nID0gZmFsc2U7IC8vIFRydWUgd2hlbiBjb250YWluZXIgaXMgcmVjZWl2aW5nIGFuIGV4dGVybmFsIGVsZW1lbnQgdmlhIGRyYWcvZHJvcC5cclxuICAgICAgICAgICAgICAgICAgICAkc2NvcGUuZ2V0U2hvd0NoaWxkcmVuUGxhY2Vob2xkZXIgPSBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAkc2NvcGUuZWxlbWVudC5jaGlsZHJlbi5sZW5ndGggPT09IDAgJiYgISRzY29wZS5lbGVtZW50LmdldElzRHJvcFRhcmdldCgpO1xyXG4gICAgICAgICAgICAgICAgICAgIH07XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICRzY29wZS5zb3J0YWJsZU9wdGlvbnMgPSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGN1cnNvcjogXCJtb3ZlXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRlbGF5OiAxNTAsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGVkOiBlbGVtZW50LmdldElzU2VhbGVkKCksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3RhbmNlOiA1LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAvL2hhbmRsZTogZWxlbWVudC5jaGlsZHJlbi5sZW5ndGggPCAyID8gXCIuaW1hZ2luYXJ5LWNsYXNzXCIgOiBmYWxzZSwgLy8gRm9yIHNvbWUgcmVhc29uIGRvZXNuJ3QgZ2V0IHJlLWV2YWx1YXRlZCBhZnRlciBhZGRpbmcgbW9yZSBjaGlsZHJlbi5cclxuICAgICAgICAgICAgICAgICAgICAgICAgc3RhcnQ6IGZ1bmN0aW9uIChlLCB1aSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJHNjb3BlLiRhcHBseShmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxlbWVudC5zZXRJc0Ryb3BUYXJnZXQodHJ1ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxlbWVudC5lZGl0b3IuaXNEcmFnZ2luZyA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIE1ha2UgdGhlIGRyb3AgdGFyZ2V0IHBsYWNlaG9sZGVyIGFzIGhpZ2ggYXMgdGhlIGl0ZW0gYmVpbmcgZHJhZ2dlZC5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpLnBsYWNlaG9sZGVyLmhlaWdodCh1aS5pdGVtLmhlaWdodCgpIC0gNCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aS5wbGFjZWhvbGRlci5jc3MoXCJtaW4taGVpZ2h0XCIsIDApO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBzdG9wOiBmdW5jdGlvbiAoZSwgdWkpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICRzY29wZS4kYXBwbHkoZnVuY3Rpb24gKCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnQuZWRpdG9yLmlzRHJhZ2dpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbGVtZW50LnNldElzRHJvcFRhcmdldChmYWxzZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgb3ZlcjogZnVuY3Rpb24gKGUsIHVpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoISF1aS5zZW5kZXIgJiYgISF1aS5zZW5kZXJbMF0uaXNUb29sYm94KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCEhdWkuc2VuZGVyWzBdLmRyb3BUYXJnZXRUaW1lb3V0KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR0aW1lb3V0LmNhbmNlbCh1aS5zZW5kZXJbMF0uZHJvcFRhcmdldFRpbWVvdXQpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aS5zZW5kZXJbMF0uZHJvcFRhcmdldFRpbWVvdXQgPSBudWxsO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdGltZW91dChmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChlbGVtZW50LnR5cGUgPT0gXCJSb3dcIikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gSWYgdGhlcmUgd2FzIGEgcHJldmlvdXMgZHJvcCB0YXJnZXQgYW5kIGl0IHdhcyBhIHJvdywgcm9sbCBiYWNrIGFueSBwZW5kaW5nIGNvbHVtbiBhZGRzIHRvIGl0LlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHByZXZpb3VzRHJvcFRhcmdldCA9IGVsZW1lbnQuZWRpdG9yLmRyb3BUYXJnZXRFbGVtZW50O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCEhcHJldmlvdXNEcm9wVGFyZ2V0ICYmIHByZXZpb3VzRHJvcFRhcmdldC50eXBlID09IFwiUm93XCIpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJldmlvdXNEcm9wVGFyZ2V0LnJvbGxiYWNrQWRkQ29sdW1uKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxlbWVudC5zZXRJc0Ryb3BUYXJnZXQoZmFsc2UpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpLnNlbmRlclswXS5kcm9wVGFyZ2V0VGltZW91dCA9ICR0aW1lb3V0KGZ1bmN0aW9uICgpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGVsZW1lbnQudHlwZSA9PSBcIlJvd1wiKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgcmVjZWl2ZWRDb2x1bW4gPSB1aS5pdGVtLnNvcnRhYmxlLm1vZGVsO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHJlY2VpdmVkQ29sdW1uV2lkdGggPSBNYXRoLmZsb29yKDEyIC8gKGVsZW1lbnQuY2hpbGRyZW4ubGVuZ3RoICsgMSkpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVjZWl2ZWRDb2x1bW4ud2lkdGggPSByZWNlaXZlZENvbHVtbldpZHRoO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVjZWl2ZWRDb2x1bW4ub2Zmc2V0ID0gMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnQuYmVnaW5BZGRDb2x1bW4ocmVjZWl2ZWRDb2x1bW5XaWR0aCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBNYWtlIHRoZSBkcm9wIHRhcmdldCBwbGFjZWhvbGRlciB0aGUgY29ycmVjdCB3aWR0aCBhbmQgYXMgaGlnaCBhcyB0aGUgaGlnaGVzdCBleGlzdGluZyBjb2x1bW4gaW4gdGhlIHJvdy5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBtYXhIZWlnaHQgPSBfLm1heChfKCRlbGVtZW50LmZpbmQoXCI+IC5sYXlvdXQtY2hpbGRyZW4gPiAubGF5b3V0LWNvbHVtbjpub3QoLnVpLXNvcnRhYmxlLXBsYWNlaG9sZGVyKVwiKSkubWFwKGZ1bmN0aW9uIChlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICQoZSkuaGVpZ2h0KCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgKGkgPSAxOyBpIDw9IDEyOyBpKyspXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWkucGxhY2Vob2xkZXIucmVtb3ZlQ2xhc3MoXCJjb2wteHMtXCIgKyBpKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpLnBsYWNlaG9sZGVyLmFkZENsYXNzKFwiY29sLXhzLVwiICsgcmVjZWl2ZWRDb2x1bW4ud2lkdGgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG1heEhlaWdodCA+IDApIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aS5wbGFjZWhvbGRlci5oZWlnaHQobWF4SGVpZ2h0KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aS5wbGFjZWhvbGRlci5jc3MoXCJtaW4taGVpZ2h0XCIsIDApO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWkucGxhY2Vob2xkZXIuaGVpZ2h0KDApO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpLnBsYWNlaG9sZGVyLmNzcyhcIm1pbi1oZWlnaHRcIiwgXCJcIik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxlbWVudC5zZXRJc0Ryb3BUYXJnZXQodHJ1ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgMTUwKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmVjZWl2ZTogZnVuY3Rpb24gKGUsIHVpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoISF1aS5zZW5kZXIgJiYgISF1aS5zZW5kZXJbMF0uaXNUb29sYm94KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHNjb3BlLiRhcHBseShmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciByZWNlaXZlZEVsZW1lbnQgPSB1aS5pdGVtLnNvcnRhYmxlLm1vZGVsO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoISFyZWNlaXZlZEVsZW1lbnQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChlbGVtZW50LnR5cGUgPT0gXCJSb3dcIilcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbGVtZW50LmNvbW1pdEFkZENvbHVtbigpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gU2hvdWxkIGlkZWFsbHkgY2FsbCBMYXlvdXRFZGl0b3IuQ29udGFpbmVyLmFkZENoaWxkKCkgaW5zdGVhZCwgYnV0IHNpbmNlIHRoaXMgaGFuZGxlclxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gaXMgcnVuICpiZWZvcmUqIHRoZSB1aS1zb3J0YWJsZSBkaXJlY3RpdmUncyBoYW5kbGVyLCBpZiB3ZSB0cnkgdG8gYWRkIHRoZSBjaGlsZCB0byB0aGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGFycmF5IHRoYXQgaGFuZGxlciB3aWxsIGdldCBhbiBleGNlcHRpb24gd2hlbiB0cnlpbmcgdG8gZG8gdGhlIHNhbWUuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBCZWNhdXNlIG9mIHRoaXMsIHdlIG5lZWQgdG8gaW52b2tlIFwic2V0UGFyZW50XCIgc28gdGhhdCBzcGVjaWZpYyBjb250YWluZXIgdHlwZXMgY2FuIHBlcmZvcm0gZWxlbWVudCBzcGVmaWNpYyBpbml0aWFsaXphdGlvbi5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlY2VpdmVkRWxlbWVudC5zZXRFZGl0b3IoZWxlbWVudC5lZGl0b3IpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVjZWl2ZWRFbGVtZW50LnNldFBhcmVudChlbGVtZW50KTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoISFyZWNlaXZlZEVsZW1lbnQuaGFzRWRpdG9yKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHNjb3BlLiRyb290LmVkaXRFbGVtZW50KHJlY2VpdmVkRWxlbWVudCkuZG9uZShmdW5jdGlvbiAoYXJncykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWFyZ3MuY2FuY2VsKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWNlaXZlZEVsZW1lbnQuZGF0YSA9IGFyZ3MuZWxlbWVudC5kYXRhO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVjZWl2ZWRFbGVtZW50LmFwcGx5RWxlbWVudEVkaXRvck1vZGVsKGFyZ3MuZWxlbWVudEVkaXRvck1vZGVsKTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoISFyZWNlaXZlZEVsZW1lbnQuc2V0SHRtbClcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWNlaXZlZEVsZW1lbnQuc2V0SHRtbChhcmdzLmVsZW1lbnQuaHRtbCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHRpbWVvdXQoZnVuY3Rpb24gKCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCEhYXJncy5jYW5jZWwpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVjZWl2ZWRFbGVtZW50LmRlbGV0ZSgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlY2VpdmVkRWxlbWVudC5zZXRJc0ZvY3VzZWQoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vJHNjb3BlLmlzUmVjZWl2aW5nID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbGVtZW50LnNldElzRHJvcFRhcmdldChmYWxzZSk7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR0aW1lb3V0KGZ1bmN0aW9uICgpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vJHNjb3BlLmlzUmVjZWl2aW5nID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbGVtZW50LnNldElzRHJvcFRhcmdldChmYWxzZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoISFyZWNlaXZlZEVsZW1lbnQpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVjZWl2ZWRFbGVtZW50LnNldElzRm9jdXNlZCgpO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRzY29wZS4kcm9vdC5hZGRFbGVtZW50KHJlY2VpdmVkRWxlbWVudCkuZG9uZShmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgJHNjb3BlLmNsaWNrID0gZnVuY3Rpb24gKGNoaWxkLCBlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghY2hpbGQuZWRpdG9yLmlzRHJhZ2dpbmcpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGlsZC5zZXRJc0ZvY3VzZWQoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgICAgICAgICAgICAgICAgICB9O1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAkc2NvcGUuZ2V0Q2xhc3NlcyA9IGZ1bmN0aW9uIChjaGlsZCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgcmVzdWx0ID0gW1wibGF5b3V0LWVsZW1lbnRcIl07XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoISFjaGlsZC5jaGlsZHJlbikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0LnB1c2goXCJsYXlvdXQtY29udGFpbmVyXCIpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGNoaWxkLmdldElzU2VhbGVkKCkpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0LnB1c2goXCJsYXlvdXQtY29udGFpbmVyLXNlYWxlZFwiKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0LnB1c2goXCJsYXlvdXQtXCIgKyBjaGlsZC50eXBlLnRvTG93ZXJDYXNlKCkpO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCEhY2hpbGQuZHJvcFRhcmdldENsYXNzKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0LnB1c2goY2hpbGQuZHJvcFRhcmdldENsYXNzKTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIFRPRE86IE1vdmUgdGhlc2UgdG8gZWl0aGVyIHRoZSBDb2x1bW4gZGlyZWN0aXZlIG9yIHRoZSBDb2x1bW4gbW9kZWwgY2xhc3MuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChjaGlsZC50eXBlID09IFwiUm93XCIpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdC5wdXNoKFwicm93XCIpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFjaGlsZC5jYW5BZGRDb2x1bW4oKSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQucHVzaChcImxheW91dC1yb3ctZnVsbFwiKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoY2hpbGQudHlwZSA9PSBcIkNvbHVtblwiKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQucHVzaChcImNvbC14cy1cIiArIGNoaWxkLndpZHRoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdC5wdXNoKFwiY29sLXhzLW9mZnNldC1cIiArIGNoaWxkLm9mZnNldCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGNoaWxkLnR5cGUgPT0gXCJDb250ZW50XCIpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQucHVzaChcImxheW91dC1jb250ZW50LVwiICsgY2hpbGQuY29udGVudFR5cGVDbGFzcyk7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoY2hpbGQuZ2V0SXNBY3RpdmUoKSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdC5wdXNoKFwibGF5b3V0LWVsZW1lbnQtYWN0aXZlXCIpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoY2hpbGQuZ2V0SXNGb2N1c2VkKCkpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQucHVzaChcImxheW91dC1lbGVtZW50LWZvY3VzZWRcIik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChjaGlsZC5nZXRJc1NlbGVjdGVkKCkpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQucHVzaChcImxheW91dC1lbGVtZW50LXNlbGVjdGVkXCIpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoY2hpbGQuZ2V0SXNEcm9wVGFyZ2V0KCkpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQucHVzaChcImxheW91dC1lbGVtZW50LWRyb3B0YXJnZXRcIik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChjaGlsZC5pc1RlbXBsYXRlZClcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdC5wdXNoKFwibGF5b3V0LWVsZW1lbnQtdGVtcGxhdGVkXCIpO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDtcclxuICAgICAgICAgICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgIH1cclxuICAgIF0pOyIsImFuZ3VsYXJcclxuICAgIC5tb2R1bGUoXCJMYXlvdXRFZGl0b3JcIilcclxuICAgIC5kaXJlY3RpdmUoXCJvcmNMYXlvdXRFZGl0b3JcIiwgW1wiZW52aXJvbm1lbnRcIixcclxuICAgICAgICBmdW5jdGlvbiAoZW52aXJvbm1lbnQpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgICAgIHJlc3RyaWN0OiBcIkVcIixcclxuICAgICAgICAgICAgICAgIHNjb3BlOiB7fSxcclxuICAgICAgICAgICAgICAgIGNvbnRyb2xsZXI6IFtcIiRzY29wZVwiLCBcIiRlbGVtZW50XCIsIFwiJGF0dHJzXCIsIFwiJGNvbXBpbGVcIiwgXCJjbGlwYm9hcmRcIixcclxuICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbiAoJHNjb3BlLCAkZWxlbWVudCwgJGF0dHJzLCAkY29tcGlsZSwgY2xpcGJvYXJkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghISRhdHRycy5tb2RlbClcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICRzY29wZS5lbGVtZW50ID0gZXZhbCgkYXR0cnMubW9kZWwpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBlbHNlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJUaGUgJ21vZGVsJyBhdHRyaWJ1dGUgbXVzdCBldmFsdWF0ZSB0byBhIExheW91dEVkaXRvci5FZGl0b3Igb2JqZWN0LlwiKTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICRzY29wZS5jbGljayA9IGZ1bmN0aW9uIChjYW52YXMsIGUpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghY2FudmFzLmVkaXRvci5pc0RyYWdnaW5nKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhbnZhcy5zZXRJc0ZvY3VzZWQoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH07XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAkc2NvcGUuZ2V0Q2xhc3NlcyA9IGZ1bmN0aW9uIChjYW52YXMpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciByZXN1bHQgPSBbXCJsYXlvdXQtZWxlbWVudFwiLCBcImxheW91dC1jb250YWluZXJcIiwgXCJsYXlvdXQtY2FudmFzXCJdO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChjYW52YXMuZ2V0SXNBY3RpdmUoKSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQucHVzaChcImxheW91dC1lbGVtZW50LWFjdGl2ZVwiKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChjYW52YXMuZ2V0SXNGb2N1c2VkKCkpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0LnB1c2goXCJsYXlvdXQtZWxlbWVudC1mb2N1c2VkXCIpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGNhbnZhcy5nZXRJc1NlbGVjdGVkKCkpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0LnB1c2goXCJsYXlvdXQtZWxlbWVudC1zZWxlY3RlZFwiKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChjYW52YXMuZ2V0SXNEcm9wVGFyZ2V0KCkpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0LnB1c2goXCJsYXlvdXQtZWxlbWVudC1kcm9wdGFyZ2V0XCIpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGNhbnZhcy5pc1RlbXBsYXRlZClcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQucHVzaChcImxheW91dC1lbGVtZW50LXRlbXBsYXRlZFwiKTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9O1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gQW4gdW5mb3J0dW5hdGUgc2lkZS1lZmZlY3Qgb2YgdGhlIG5leHQgaGFjayBvbiBsaW5lIDU0IGlzIHRoYXQgdGhlIGNyZWF0ZWQgZWxlbWVudHMgYXJlbid0IGFkZGVkIHRvIHRoZSBET00geWV0LCBzbyB3ZSBjYW4ndCB1c2UgaXQgdG8gZ2V0IHRvIHRoZSBwYXJlbnQgXCIubGF5b3V0LWRlc2lnZXJcIiBlbGVtZW50LlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBXb3JrIGFyb3VuZDogYWNjZXNzIHRoYXQgZWxlbWVudCBkaXJlY3RseSAod2hpY2ggZWZlY3RpdmVseSB0dXJucyBtdWx0aXBsZSBsYXlvdXQgZWRpdG9ycyBvbiBhIHNpbmdsZSBwYWdlIGltcG9zc2libGUpLiBcclxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gLy92YXIgbGF5b3V0RGVzaWduZXJIb3N0ID0gJGVsZW1lbnQuY2xvc2VzdChcIi5sYXlvdXQtZGVzaWduZXJcIikuZGF0YShcImxheW91dC1kZXNpZ25lci1ob3N0XCIpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgbGF5b3V0RGVzaWduZXJIb3N0ID0gJChcIi5sYXlvdXQtZGVzaWduZXJcIikuZGF0YShcImxheW91dC1kZXNpZ25lci1ob3N0XCIpO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgJHNjb3BlLiRyb290LmxheW91dERlc2lnbmVySG9zdCA9IGxheW91dERlc2lnbmVySG9zdDtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxheW91dERlc2lnbmVySG9zdC5lbGVtZW50Lm9uKFwicmVwbGFjZWNhbnZhc1wiLCBmdW5jdGlvbiAoZSwgYXJncykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGVkaXRvciA9ICRzY29wZS5lbGVtZW50O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGNhbnZhc0RhdGEgPSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YTogYXJncy5jYW52YXMuZGF0YSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBodG1sSWQ6IGFyZ3MuY2FudmFzLmh0bWxJZCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBodG1sQ2xhc3M6IGFyZ3MuY2FudmFzLmh0bWxDbGFzcyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBodG1sU3R5bGU6IGFyZ3MuY2FudmFzLmh0bWxTdHlsZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc1RlbXBsYXRlZDogYXJncy5jYW52YXMuaXNUZW1wbGF0ZWQsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW46IGFyZ3MuY2FudmFzLmNoaWxkcmVuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9O1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEhBQ0s6IEluc3RlYWQgb2Ygc2ltcGx5IHVwZGF0aW5nIHRoZSAkc2NvcGUuZWxlbWVudCB3aXRoIGEgbmV3IGluc3RhbmNlLCB3ZSBuZWVkIHRvIHJlcGxhY2UgdGhlIGVudGlyZSBvcmMtbGF5b3V0LWVkaXRvciBtYXJrdXBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGluIG9yZGVyIGZvciBhbmd1bGFyIHRvIHJlYmluZCBzdGFydGluZyB3aXRoIHRoZSBDYW52YXMgZWxlbWVudC4gT3RoZXJ3aXNlLCBmb3Igc29tZSByZWFzb24sIGl0IHdpbGwgcmViaW5kIHN0YXJ0aW5nIHdpdGggdGhlIGZpcnN0IGNoaWxkIG9mIENhbnZhcy5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFlvdSBjYW4gc2VlIHRoaXMgaGFwcGVuaW5nIHdoZW4gc2V0dGluZyBhIGJyZWFrcG9pbnQgaW4gU2NvcGVDb25maWd1cmF0b3Igd2hlcmUgY29udGFpbmVycyBhcmUgaW5pdGlhbGl6ZWQgd2l0aCBkcmFnICYgZHJvcDogb24gcGFnZSBsb2FkLCB0aGUgZmlyc3QgZWxlbWVudFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gaXMgYSBDYW52YXMgKGdvb2QpLCBidXQgYWZ0ZXIgaGF2aW5nIHNlbGVjdGVkIGFub3RoZXIgdGVtcGxhdGUsIHRoZSBmaXJzdCBlbGVtZW50IGlzICh0eXBpY2FsbHkpIGEgR3JpZCAoYmFkKS5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFNpbXBseSByZWNvbXBpbGluZyB0aGUgb3JjLWxheW91dC1lZGl0b3IgZGlyZWN0aXZlIHdpbGwgY2F1c2UgdGhlIGVudGlyZSB0aGluZyB0byBiZSBnZW5lcmF0ZWQsIHdoaWNoIHdvcmtzIGp1c3QgZmluZSBhcyB3ZWxsIChldmVuIHRob3VnaCBub3QgaXMgbmljZSBhcyBzaW1wbHkgbGV2ZXJhZ2luZyBtb2RlbCBiaW5kaW5nKS5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxheW91dERlc2lnbmVySG9zdC5lZGl0b3IgPSB3aW5kb3cubGF5b3V0RWRpdG9yID0gbmV3IExheW91dEVkaXRvci5FZGl0b3IoZWRpdG9yLmNvbmZpZywgY2FudmFzRGF0YSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgdGVtcGxhdGUgPSBcIjxvcmMtbGF5b3V0LWVkaXRvclwiICsgXCIgbW9kZWw9J3dpbmRvdy5sYXlvdXRFZGl0b3InIC8+XCI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgaHRtbCA9ICRjb21waWxlKHRlbXBsYXRlKSgkc2NvcGUpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJChcIi5sYXlvdXQtZWRpdG9yLWhvbGRlclwiKS5odG1sKGh0bWwpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICRzY29wZS4kcm9vdC5lZGl0RWxlbWVudCA9IGZ1bmN0aW9uIChlbGVtZW50KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgaG9zdCA9ICRzY29wZS4kcm9vdC5sYXlvdXREZXNpZ25lckhvc3Q7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gaG9zdC5lZGl0RWxlbWVudChlbGVtZW50KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICRzY29wZS4kcm9vdC5hZGRFbGVtZW50ID0gZnVuY3Rpb24gKGNvbnRlbnRUeXBlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgaG9zdCA9ICRzY29wZS4kcm9vdC5sYXlvdXREZXNpZ25lckhvc3Q7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gaG9zdC5hZGRFbGVtZW50KGNvbnRlbnRUeXBlKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICQoZG9jdW1lbnQpLm9uKFwiY3V0IGNvcHkgcGFzdGVcIiwgZnVuY3Rpb24gKGUpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIElmIHRoZSBwc2V1ZG8gY2xpcGJvYXJkIHdhcyBhbHJlYWR5IGludm9rZWQgKHdoaWNoIGhhcHBlbnMgb24gdGhlIGZpcnN0IGNsaXBib2FyZFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gb3BlcmF0aW9uIGFmdGVyIHBhZ2UgbG9hZCBldmVuIGlmIG5hdGl2ZSBjbGlwYm9hcmQgc3VwcG9ydCBleGlzdHMpIHRoZW4gc2l0IHRoaXNcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIG9uZSBvcGVyYXRpb24gb3V0LCBidXQgbWFrZSBzdXJlIHdoYXRldmVyIGlzIG9uIHRoZSBwc2V1ZG8gY2xpcGJvYXJkIGdldHMgbWlncmF0ZWRcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHRvIHRoZSBuYXRpdmUgY2xpcGJvYXJkIGZvciBzdWJzZXF1ZW50IG9wZXJhdGlvbnMuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoY2xpcGJvYXJkLndhc0ludm9rZWQoKSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGUub3JpZ2luYWxFdmVudC5jbGlwYm9hcmREYXRhLnNldERhdGEoXCJ0ZXh0L3BsYWluXCIsIGNsaXBib2FyZC5nZXREYXRhKFwidGV4dC9wbGFpblwiKSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZS5vcmlnaW5hbEV2ZW50LmNsaXBib2FyZERhdGEuc2V0RGF0YShcInRleHQvanNvblwiLCBjbGlwYm9hcmQuZ2V0RGF0YShcInRleHQvanNvblwiKSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGZvY3VzZWRFbGVtZW50ID0gJHNjb3BlLmVsZW1lbnQuZm9jdXNlZEVsZW1lbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCEhZm9jdXNlZEVsZW1lbnQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHNjb3BlLiRhcHBseShmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKGUudHlwZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgXCJjb3B5XCI6XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvY3VzZWRFbGVtZW50LmNvcHkoZS5vcmlnaW5hbEV2ZW50LmNsaXBib2FyZERhdGEpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlIFwiY3V0XCI6XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvY3VzZWRFbGVtZW50LmN1dChlLm9yaWdpbmFsRXZlbnQuY2xpcGJvYXJkRGF0YSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgXCJwYXN0ZVwiOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb2N1c2VkRWxlbWVudC5wYXN0ZShlLm9yaWdpbmFsRXZlbnQuY2xpcGJvYXJkRGF0YSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICQuZXZlbnQudHJpZ2dlcih7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBcImxheW91dGVkaXRvcjplZGl0ZWRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gSEFDSzogV29ya2Fyb3VuZCBiZWNhdXNlIG9mIGhvdyBBbmd1bGFyIHRyZWF0cyB0aGUgRE9NIHdoZW4gZWxlbWVudHMgYXJlIHNoaWZ0ZWQgYXJvdW5kIC0gaW5wdXQgZm9jdXMgaXMgc29tZXRpbWVzIGxvc3QuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpbmRvdy5zZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRzY29wZS4kYXBwbHkoZnVuY3Rpb24gKCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghISRzY29wZS5lbGVtZW50LmZvY3VzZWRFbGVtZW50KVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkc2NvcGUuZWxlbWVudC5mb2N1c2VkRWxlbWVudC5zZXRJc0ZvY3VzZWQoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCAxMDApO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBOYXRpdmUgY2xpcGJvYXJkIHN1cHBvcnQgb2J2aW91c2x5IGV4aXN0cywgc28gZGlzYWJsZSB0aGUgcGV1ZG8gY2xpcGJvYXJkIGZyb20gbm93IG9uLlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xpcGJvYXJkLmRpc2FibGUoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgXSxcclxuICAgICAgICAgICAgICAgIHRlbXBsYXRlVXJsOiBlbnZpcm9ubWVudC50ZW1wbGF0ZVVybChcIkVkaXRvclwiKSxcclxuICAgICAgICAgICAgICAgIHJlcGxhY2U6IHRydWUsXHJcbiAgICAgICAgICAgICAgICBsaW5rOiBmdW5jdGlvbiAoc2NvcGUsIGVsZW1lbnQpIHtcclxuICAgICAgICAgICAgICAgICAgICAvLyBObyBjbGlja3Mgc2hvdWxkIHByb3BhZ2F0ZSBmcm9tIHRoZSBUaW55TUNFIHRvb2xiYXJzLlxyXG4gICAgICAgICAgICAgICAgICAgIGVsZW1lbnQuZmluZChcIi5sYXlvdXQtdG9vbGJhci1jb250YWluZXJcIikuY2xpY2soZnVuY3Rpb24gKGUpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICAvLyBVbmZvY3VzIGFuZCB1bnNlbGVjdCBldmVyeXRoaW5nIG9uIGNsaWNrIG91dHNpZGUgb2YgY2FudmFzLlxyXG4gICAgICAgICAgICAgICAgICAgICQod2luZG93KS5jbGljayhmdW5jdGlvbiAoZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBzY29wZS4kYXBwbHkoZnVuY3Rpb24gKCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2NvcGUuZWxlbWVudC5hY3RpdmVFbGVtZW50ID0gbnVsbDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlLmVsZW1lbnQuZm9jdXNlZEVsZW1lbnQgPSBudWxsO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfTtcclxuICAgICAgICB9XHJcbiAgICBdKTsiLCJhbmd1bGFyXHJcbiAgICAubW9kdWxlKFwiTGF5b3V0RWRpdG9yXCIpXHJcbiAgICAuZGlyZWN0aXZlKFwib3JjTGF5b3V0Q2FudmFzXCIsIFtcInNjb3BlQ29uZmlndXJhdG9yXCIsIFwiZW52aXJvbm1lbnRcIixcclxuICAgICAgICBmdW5jdGlvbiAoc2NvcGVDb25maWd1cmF0b3IsIGVudmlyb25tZW50KSB7XHJcbiAgICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgICAgICByZXN0cmljdDogXCJFXCIsXHJcbiAgICAgICAgICAgICAgICBzY29wZTogeyBlbGVtZW50OiBcIj1cIiB9LFxyXG4gICAgICAgICAgICAgICAgY29udHJvbGxlcjogW1wiJHNjb3BlXCIsIFwiJGVsZW1lbnRcIiwgXCIkYXR0cnNcIixcclxuICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbiAoJHNjb3BlLCAkZWxlbWVudCwgJGF0dHJzKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ29uZmlndXJhdG9yLmNvbmZpZ3VyZUZvckVsZW1lbnQoJHNjb3BlLCAkZWxlbWVudCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ29uZmlndXJhdG9yLmNvbmZpZ3VyZUZvckNvbnRhaW5lcigkc2NvcGUsICRlbGVtZW50KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgJHNjb3BlLnNvcnRhYmxlT3B0aW9uc1tcImF4aXNcIl0gPSBcInlcIjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBdLFxyXG4gICAgICAgICAgICAgICAgdGVtcGxhdGVVcmw6IGVudmlyb25tZW50LnRlbXBsYXRlVXJsKFwiQ2FudmFzXCIpLFxyXG4gICAgICAgICAgICAgICAgcmVwbGFjZTogdHJ1ZVxyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgIH1cclxuICAgIF0pOyIsImFuZ3VsYXJcclxuICAgIC5tb2R1bGUoXCJMYXlvdXRFZGl0b3JcIilcclxuICAgIC5kaXJlY3RpdmUoXCJvcmNMYXlvdXRDaGlsZFwiLCBbXCIkY29tcGlsZVwiLFxyXG4gICAgICAgIGZ1bmN0aW9uICgkY29tcGlsZSkge1xyXG4gICAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAgICAgcmVzdHJpY3Q6IFwiRVwiLFxyXG4gICAgICAgICAgICAgICAgc2NvcGU6IHsgZWxlbWVudDogXCI9XCIgfSxcclxuICAgICAgICAgICAgICAgIGxpbms6IGZ1bmN0aW9uIChzY29wZSwgZWxlbWVudCkge1xyXG4gICAgICAgICAgICAgICAgICAgIHZhciB0ZW1wbGF0ZSA9IFwiPG9yYy1sYXlvdXQtXCIgKyBzY29wZS5lbGVtZW50LnR5cGUudG9Mb3dlckNhc2UoKSArIFwiIGVsZW1lbnQ9J2VsZW1lbnQnIC8+XCI7XHJcbiAgICAgICAgICAgICAgICAgICAgdmFyIGh0bWwgPSAkY29tcGlsZSh0ZW1wbGF0ZSkoc2NvcGUpO1xyXG4gICAgICAgICAgICAgICAgICAgICQoZWxlbWVudCkucmVwbGFjZVdpdGgoaHRtbCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgfVxyXG4gICAgXSk7IiwiYW5ndWxhclxyXG4gICAgLm1vZHVsZShcIkxheW91dEVkaXRvclwiKVxyXG4gICAgLmRpcmVjdGl2ZShcIm9yY0xheW91dENvbHVtblwiLCBbXCIkY29tcGlsZVwiLCBcInNjb3BlQ29uZmlndXJhdG9yXCIsIFwiZW52aXJvbm1lbnRcIixcclxuICAgICAgICBmdW5jdGlvbiAoJGNvbXBpbGUsIHNjb3BlQ29uZmlndXJhdG9yLCBlbnZpcm9ubWVudCkge1xyXG4gICAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAgICAgcmVzdHJpY3Q6IFwiRVwiLFxyXG4gICAgICAgICAgICAgICAgc2NvcGU6IHsgZWxlbWVudDogXCI9XCIgfSxcclxuICAgICAgICAgICAgICAgIGNvbnRyb2xsZXI6IFtcIiRzY29wZVwiLCBcIiRlbGVtZW50XCIsXHJcbiAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gKCRzY29wZSwgJGVsZW1lbnQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgc2NvcGVDb25maWd1cmF0b3IuY29uZmlndXJlRm9yRWxlbWVudCgkc2NvcGUsICRlbGVtZW50KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgc2NvcGVDb25maWd1cmF0b3IuY29uZmlndXJlRm9yQ29udGFpbmVyKCRzY29wZSwgJGVsZW1lbnQpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAkc2NvcGUuc29ydGFibGVPcHRpb25zW1wiYXhpc1wiXSA9IFwieVwiO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIF0sXHJcbiAgICAgICAgICAgICAgICB0ZW1wbGF0ZVVybDogZW52aXJvbm1lbnQudGVtcGxhdGVVcmwoXCJDb2x1bW5cIiksXHJcbiAgICAgICAgICAgICAgICByZXBsYWNlOiB0cnVlLFxyXG4gICAgICAgICAgICAgICAgbGluazogZnVuY3Rpb24gKHNjb3BlLCBlbGVtZW50LCBhdHRycykge1xyXG4gICAgICAgICAgICAgICAgICAgIGVsZW1lbnQuZmluZChcIi5sYXlvdXQtY29sdW1uLXJlc2l6ZS1iYXJcIikuZHJhZ2dhYmxlKHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYXhpczogXCJ4XCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlbHBlcjogXCJjbG9uZVwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXZlcnQ6IHRydWUsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0YXJ0OiBmdW5jdGlvbiAoZSwgdWkpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlLiRhcHBseShmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2NvcGUuZWxlbWVudC5lZGl0b3IuaXNSZXNpemluZyA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgZHJhZzogZnVuY3Rpb24gKGUsIHVpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgY29sdW1uRWxlbWVudCA9IGVsZW1lbnQucGFyZW50KCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgY29sdW1uU2l6ZSA9IGNvbHVtbkVsZW1lbnQud2lkdGgoKSAvIHNjb3BlLmVsZW1lbnQud2lkdGg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgY29ubmVjdEFkamFjZW50ID0gIWUuY3RybEtleTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICgkKGUudGFyZ2V0KS5oYXNDbGFzcyhcImxheW91dC1jb2x1bW4tcmVzaXplLWJhci1sZWZ0XCIpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGRlbHRhID0gdWkub2Zmc2V0LmxlZnQgLSBjb2x1bW5FbGVtZW50Lm9mZnNldCgpLmxlZnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGRlbHRhIDwgLWNvbHVtblNpemUgJiYgc2NvcGUuZWxlbWVudC5jYW5FeHBhbmRMZWZ0KGNvbm5lY3RBZGphY2VudCkpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2NvcGUuJGFwcGx5KGZ1bmN0aW9uICgpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlLmVsZW1lbnQuZXhwYW5kTGVmdChjb25uZWN0QWRqYWNlbnQpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAoZGVsdGEgPiBjb2x1bW5TaXplICYmIHNjb3BlLmVsZW1lbnQuY2FuQ29udHJhY3RMZWZ0KGNvbm5lY3RBZGphY2VudCkpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2NvcGUuJGFwcGx5KGZ1bmN0aW9uICgpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlLmVsZW1lbnQuY29udHJhY3RMZWZ0KGNvbm5lY3RBZGphY2VudCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKCQoZS50YXJnZXQpLmhhc0NsYXNzKFwibGF5b3V0LWNvbHVtbi1yZXNpemUtYmFyLXJpZ2h0XCIpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGRlbHRhID0gdWkub2Zmc2V0LmxlZnQgLSBjb2x1bW5FbGVtZW50LndpZHRoKCkgLSBjb2x1bW5FbGVtZW50Lm9mZnNldCgpLmxlZnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGRlbHRhID4gY29sdW1uU2l6ZSAmJiBzY29wZS5lbGVtZW50LmNhbkV4cGFuZFJpZ2h0KGNvbm5lY3RBZGphY2VudCkpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2NvcGUuJGFwcGx5KGZ1bmN0aW9uICgpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlLmVsZW1lbnQuZXhwYW5kUmlnaHQoY29ubmVjdEFkamFjZW50KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKGRlbHRhIDwgLWNvbHVtblNpemUgJiYgc2NvcGUuZWxlbWVudC5jYW5Db250cmFjdFJpZ2h0KGNvbm5lY3RBZGphY2VudCkpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2NvcGUuJGFwcGx5KGZ1bmN0aW9uICgpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlLmVsZW1lbnQuY29udHJhY3RSaWdodChjb25uZWN0QWRqYWNlbnQpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBzdG9wOiBmdW5jdGlvbiAoZSwgdWkpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlLiRhcHBseShmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlLmVsZW1lbnQuZWRpdG9yLmlzUmVzaXppbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgfVxyXG4gICAgXSk7IiwiYW5ndWxhclxyXG4gICAgLm1vZHVsZShcIkxheW91dEVkaXRvclwiKVxyXG4gICAgLmRpcmVjdGl2ZShcIm9yY0xheW91dENvbnRlbnRcIiwgW1wiJHNjZVwiLCBcInNjb3BlQ29uZmlndXJhdG9yXCIsIFwiZW52aXJvbm1lbnRcIixcclxuICAgICAgICBmdW5jdGlvbiAoJHNjZSwgc2NvcGVDb25maWd1cmF0b3IsIGVudmlyb25tZW50KSB7XHJcbiAgICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgICAgICByZXN0cmljdDogXCJFXCIsXHJcbiAgICAgICAgICAgICAgICBzY29wZTogeyBlbGVtZW50OiBcIj1cIiB9LFxyXG4gICAgICAgICAgICAgICAgY29udHJvbGxlcjogW1wiJHNjb3BlXCIsIFwiJGVsZW1lbnRcIixcclxuICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbiAoJHNjb3BlLCAkZWxlbWVudCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBzY29wZUNvbmZpZ3VyYXRvci5jb25maWd1cmVGb3JFbGVtZW50KCRzY29wZSwgJGVsZW1lbnQpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gT3ZlcndyaXRlIHRoZSBzZXRIdG1sIGZ1bmN0aW9uIHNvIHRoYXQgd2UgY2FuIHVzZSB0aGUgJHNjZSBzZXJ2aWNlIHRvIHRydXN0IHRoZSBodG1sIChhbmQgbm90IGhhdmUgdGhlIGh0bWwgYmluZGluZyBzdHJpcCBjZXJ0YWluIHRhZ3MpLlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAkc2NvcGUuZWxlbWVudC5zZXRIdG1sID0gZnVuY3Rpb24gKGh0bWwpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICRzY29wZS5lbGVtZW50Lmh0bWwgPSBodG1sO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJHNjb3BlLmVsZW1lbnQuaHRtbFVuc2FmZSA9ICRzY2UudHJ1c3RBc0h0bWwoaHRtbCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH07XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAkc2NvcGUuZWxlbWVudC5zZXRIdG1sKCRzY29wZS5lbGVtZW50Lmh0bWwpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIF0sXHJcbiAgICAgICAgICAgICAgICB0ZW1wbGF0ZVVybDogZW52aXJvbm1lbnQudGVtcGxhdGVVcmwoXCJDb250ZW50XCIpLFxyXG4gICAgICAgICAgICAgICAgcmVwbGFjZTogdHJ1ZVxyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgIH1cclxuICAgIF0pOyIsImFuZ3VsYXJcclxuICAgIC5tb2R1bGUoXCJMYXlvdXRFZGl0b3JcIilcclxuICAgIC5kaXJlY3RpdmUoXCJvcmNMYXlvdXRHcmlkXCIsIFtcIiRjb21waWxlXCIsIFwic2NvcGVDb25maWd1cmF0b3JcIiwgXCJlbnZpcm9ubWVudFwiLFxyXG4gICAgICAgIGZ1bmN0aW9uICgkY29tcGlsZSwgc2NvcGVDb25maWd1cmF0b3IsIGVudmlyb25tZW50KSB7XHJcbiAgICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgICAgICByZXN0cmljdDogXCJFXCIsXHJcbiAgICAgICAgICAgICAgICBzY29wZTogeyBlbGVtZW50OiBcIj1cIiB9LFxyXG4gICAgICAgICAgICAgICAgY29udHJvbGxlcjogW1wiJHNjb3BlXCIsIFwiJGVsZW1lbnRcIixcclxuICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbiAoJHNjb3BlLCAkZWxlbWVudCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBzY29wZUNvbmZpZ3VyYXRvci5jb25maWd1cmVGb3JFbGVtZW50KCRzY29wZSwgJGVsZW1lbnQpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBzY29wZUNvbmZpZ3VyYXRvci5jb25maWd1cmVGb3JDb250YWluZXIoJHNjb3BlLCAkZWxlbWVudCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICRzY29wZS5zb3J0YWJsZU9wdGlvbnNbXCJheGlzXCJdID0gXCJ5XCI7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgXSxcclxuICAgICAgICAgICAgICAgIHRlbXBsYXRlVXJsOiBlbnZpcm9ubWVudC50ZW1wbGF0ZVVybChcIkdyaWRcIiksXHJcbiAgICAgICAgICAgICAgICByZXBsYWNlOiB0cnVlXHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgfVxyXG4gICAgXSk7IiwiYW5ndWxhclxyXG4gICAgLm1vZHVsZShcIkxheW91dEVkaXRvclwiKVxyXG4gICAgLmRpcmVjdGl2ZShcIm9yY0xheW91dFJvd1wiLCBbXCIkY29tcGlsZVwiLCBcInNjb3BlQ29uZmlndXJhdG9yXCIsIFwiZW52aXJvbm1lbnRcIixcclxuICAgICAgICBmdW5jdGlvbiAoJGNvbXBpbGUsIHNjb3BlQ29uZmlndXJhdG9yLCBlbnZpcm9ubWVudCkge1xyXG4gICAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAgICAgcmVzdHJpY3Q6IFwiRVwiLFxyXG4gICAgICAgICAgICAgICAgc2NvcGU6IHsgZWxlbWVudDogXCI9XCIgfSxcclxuICAgICAgICAgICAgICAgIGNvbnRyb2xsZXI6IFtcIiRzY29wZVwiLCBcIiRlbGVtZW50XCIsXHJcbiAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gKCRzY29wZSwgJGVsZW1lbnQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgc2NvcGVDb25maWd1cmF0b3IuY29uZmlndXJlRm9yRWxlbWVudCgkc2NvcGUsICRlbGVtZW50KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgc2NvcGVDb25maWd1cmF0b3IuY29uZmlndXJlRm9yQ29udGFpbmVyKCRzY29wZSwgJGVsZW1lbnQpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAkc2NvcGUuc29ydGFibGVPcHRpb25zW1wiYXhpc1wiXSA9IFwieFwiO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAkc2NvcGUuc29ydGFibGVPcHRpb25zW1widWktZmxvYXRpbmdcIl0gPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIF0sXHJcbiAgICAgICAgICAgICAgICB0ZW1wbGF0ZVVybDogZW52aXJvbm1lbnQudGVtcGxhdGVVcmwoXCJSb3dcIiksXHJcbiAgICAgICAgICAgICAgICByZXBsYWNlOiB0cnVlXHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgfVxyXG4gICAgXSk7IiwiYW5ndWxhclxyXG4gICAgLm1vZHVsZShcIkxheW91dEVkaXRvclwiKVxyXG4gICAgLmRpcmVjdGl2ZShcIm9yY0xheW91dFBvcHVwXCIsIFtcclxuICAgICAgICBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgICAgICByZXN0cmljdDogXCJBXCIsXHJcbiAgICAgICAgICAgICAgICBsaW5rOiBmdW5jdGlvbiAoc2NvcGUsIGVsZW1lbnQsIGF0dHJzKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdmFyIHBvcHVwID0gJChlbGVtZW50KTtcclxuICAgICAgICAgICAgICAgICAgICB2YXIgdHJpZ2dlciA9IHBvcHVwLmNsb3Nlc3QoXCIubGF5b3V0LXBvcHVwLXRyaWdnZXJcIik7XHJcbiAgICAgICAgICAgICAgICAgICAgdmFyIHBhcmVudEVsZW1lbnQgPSBwb3B1cC5jbG9zZXN0KFwiLmxheW91dC1lbGVtZW50XCIpO1xyXG4gICAgICAgICAgICAgICAgICAgIHRyaWdnZXIuY2xpY2soZnVuY3Rpb24gKCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwb3B1cC50b2dnbGUoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHBvcHVwLmlzKFwiOnZpc2libGVcIikpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvcHVwLnBvc2l0aW9uKHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBteTogYXR0cnMub3JjTGF5b3V0UG9wdXBNeSB8fCBcImxlZnQgdG9wXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXQ6IGF0dHJzLm9yY0xheW91dFBvcHVwQXQgfHwgXCJsZWZ0IGJvdHRvbSs0cHhcIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvZjogdHJpZ2dlclxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3B1cC5maW5kKFwiaW5wdXRcIikuZmlyc3QoKS5mb2N1cygpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9wdXAuY2xpY2soZnVuY3Rpb24gKGUpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICBwYXJlbnRFbGVtZW50LmNsaWNrKGZ1bmN0aW9uIChlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvcHVwLmhpZGUoKTtcclxuICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICBwb3B1cC5rZXlkb3duKGZ1bmN0aW9uIChlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghZS5jdHJsS2V5ICYmICFlLnNoaWZ0S2V5ICYmICFlLmFsdEtleSAmJiBlLndoaWNoID09IDI3KSAvLyBFc2NcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvcHVwLmhpZGUoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICBwb3B1cC5vbihcImN1dCBjb3B5IHBhc3RlXCIsIGZ1bmN0aW9uIChlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIEFsbG93IGNsaXBib2FyZCBvcGVyYXRpb25zIGluIHBvcHVwIHdpdGhvdXQgaW52b2tpbmcgY2xpcGJvYXJkIGV2ZW50IGhhbmRsZXJzIG9uIHBhcmVudCBlbGVtZW50LlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgIH1cclxuICAgIF0pOyIsImFuZ3VsYXJcclxuICAgIC5tb2R1bGUoXCJMYXlvdXRFZGl0b3JcIilcclxuICAgIC5kaXJlY3RpdmUoXCJvcmNMYXlvdXRUb29sYm94XCIsIFtcIiRjb21waWxlXCIsIFwiZW52aXJvbm1lbnRcIixcclxuICAgICAgICBmdW5jdGlvbiAoJGNvbXBpbGUsIGVudmlyb25tZW50KSB7XHJcbiAgICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgICAgICByZXN0cmljdDogXCJFXCIsXHJcbiAgICAgICAgICAgICAgICBjb250cm9sbGVyOiBbXCIkc2NvcGVcIiwgXCIkZWxlbWVudFwiLFxyXG4gICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uICgkc2NvcGUsICRlbGVtZW50KSB7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAkc2NvcGUucmVzZXRFbGVtZW50cyA9IGZ1bmN0aW9uICgpIHtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkc2NvcGUuZ3JpZEVsZW1lbnRzID0gW1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExheW91dEVkaXRvci5HcmlkLmZyb20oe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b29sYm94SWNvbjogXCJcXHVmMDBhXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvb2xib3hMYWJlbDogXCJHcmlkXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvb2xib3hEZXNjcmlwdGlvbjogXCJFbXB0eSBncmlkLlwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbjogW11cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkc2NvcGUucm93RWxlbWVudHMgPSBbXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGF5b3V0RWRpdG9yLlJvdy5mcm9tKHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9vbGJveEljb246IFwiXFx1ZjBjOVwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b29sYm94TGFiZWw6IFwiUm93ICgxIGNvbHVtbilcIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9vbGJveERlc2NyaXB0aW9uOiBcIlJvdyB3aXRoIDEgY29sdW1uLlwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbjogTGF5b3V0RWRpdG9yLkNvbHVtbi50aW1lcygxKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExheW91dEVkaXRvci5Sb3cuZnJvbSh7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvb2xib3hJY29uOiBcIlxcdWYwYzlcIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9vbGJveExhYmVsOiBcIlJvdyAoMiBjb2x1bW5zKVwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b29sYm94RGVzY3JpcHRpb246IFwiUm93IHdpdGggMiBjb2x1bW5zLlwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbjogTGF5b3V0RWRpdG9yLkNvbHVtbi50aW1lcygyKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExheW91dEVkaXRvci5Sb3cuZnJvbSh7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvb2xib3hJY29uOiBcIlxcdWYwYzlcIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9vbGJveExhYmVsOiBcIlJvdyAoMyBjb2x1bW5zKVwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b29sYm94RGVzY3JpcHRpb246IFwiUm93IHdpdGggMyBjb2x1bW5zLlwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbjogTGF5b3V0RWRpdG9yLkNvbHVtbi50aW1lcygzKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExheW91dEVkaXRvci5Sb3cuZnJvbSh7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvb2xib3hJY29uOiBcIlxcdWYwYzlcIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9vbGJveExhYmVsOiBcIlJvdyAoNCBjb2x1bW5zKVwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b29sYm94RGVzY3JpcHRpb246IFwiUm93IHdpdGggNCBjb2x1bW5zLlwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbjogTGF5b3V0RWRpdG9yLkNvbHVtbi50aW1lcyg0KVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExheW91dEVkaXRvci5Sb3cuZnJvbSh7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvb2xib3hJY29uOiBcIlxcdWYwYzlcIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9vbGJveExhYmVsOiBcIlJvdyAoNiBjb2x1bW5zKVwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b29sYm94RGVzY3JpcHRpb246IFwiUm93IHdpdGggNiBjb2x1bW5zLlwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbjogTGF5b3V0RWRpdG9yLkNvbHVtbi50aW1lcyg2KVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExheW91dEVkaXRvci5Sb3cuZnJvbSh7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvb2xib3hJY29uOiBcIlxcdWYwYzlcIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9vbGJveExhYmVsOiBcIlJvdyAoMTIgY29sdW1ucylcIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9vbGJveERlc2NyaXB0aW9uOiBcIlJvdyB3aXRoIDEyIGNvbHVtbnMuXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoaWxkcmVuOiBMYXlvdXRFZGl0b3IuQ29sdW1uLnRpbWVzKDEyKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pLCBMYXlvdXRFZGl0b3IuUm93LmZyb20oe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b29sYm94SWNvbjogXCJcXHVmMGM5XCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvb2xib3hMYWJlbDogXCJSb3cgKGVtcHR5KVwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b29sYm94RGVzY3JpcHRpb246IFwiRW1wdHkgcm93LlwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbjogW11cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkc2NvcGUuY29sdW1uRWxlbWVudHMgPSBbXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGF5b3V0RWRpdG9yLkNvbHVtbi5mcm9tKHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9vbGJveEljb246IFwiXFx1ZjBkYlwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b29sYm94TGFiZWw6IFwiQ29sdW1uXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvb2xib3hEZXNjcmlwdGlvbjogXCJFbXB0eSBjb2x1bW4uXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvZmZzZXQ6IDAsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoaWxkcmVuOiBbXVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBdO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICRzY29wZS5jYW52YXNFbGVtZW50cyA9IFtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMYXlvdXRFZGl0b3IuQ2FudmFzLmZyb20oe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b29sYm94SWNvbjogXCJcXHVmMDQ0XCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvb2xib3hMYWJlbDogXCJDYW52YXNcIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9vbGJveERlc2NyaXB0aW9uOiBcIkVtcHR5IGNhbnZhcy5cIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW46IFtdXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIF07XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJHNjb3BlLmNvbnRlbnRFbGVtZW50Q2F0ZWdvcmllcyA9IF8oJHNjb3BlLmVsZW1lbnQuY29uZmlnLmNhdGVnb3JpZXMpLm1hcChmdW5jdGlvbiAoY2F0ZWdvcnkpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiBjYXRlZ29yeS5uYW1lLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbGVtZW50czogXyhjYXRlZ29yeS5jb250ZW50VHlwZXMpLm1hcChmdW5jdGlvbiAoY29udGVudFR5cGUpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciB0eXBlID0gY29udGVudFR5cGUudHlwZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBmYWN0b3J5ID0gTGF5b3V0RWRpdG9yLmZhY3Rvcmllc1t0eXBlXSB8fCBMYXlvdXRFZGl0b3IuZmFjdG9yaWVzW1wiQ29udGVudFwiXTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBpdGVtID0ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzVGVtcGxhdGVkOiBmYWxzZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50VHlwZTogY29udGVudFR5cGUuaWQsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudFR5cGVMYWJlbDogY29udGVudFR5cGUubGFiZWwsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudFR5cGVDbGFzczogY29udGVudFR5cGUudHlwZUNsYXNzLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGE6IG51bGwsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFzRWRpdG9yOiBjb250ZW50VHlwZS5oYXNFZGl0b3IsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHRtbDogY29udGVudFR5cGUuaHRtbFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBlbGVtZW50ID0gZmFjdG9yeShpdGVtKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnQudG9vbGJveEljb24gPSBjb250ZW50VHlwZS5pY29uIHx8IFwiXFx1ZjFjOVwiO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxlbWVudC50b29sYm94TGFiZWwgPSBjb250ZW50VHlwZS5sYWJlbDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnQudG9vbGJveERlc2NyaXB0aW9uID0gY29udGVudFR5cGUuZGVzY3JpcHRpb247XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZWxlbWVudDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9O1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgJHNjb3BlLnJlc2V0RWxlbWVudHMoKTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICRzY29wZS5nZXRTb3J0YWJsZU9wdGlvbnMgPSBmdW5jdGlvbiAodHlwZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGVkaXRvcklkID0gJGVsZW1lbnQuY2xvc2VzdChcIi5sYXlvdXQtZWRpdG9yXCIpLmF0dHIoXCJpZFwiKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBwYXJlbnRDbGFzc2VzO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHBsYWNlaG9sZGVyQ2xhc3NlcztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBmbG9hdGluZyA9IGZhbHNlO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN3aXRjaCAodHlwZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgXCJHcmlkXCI6XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcmVudENsYXNzZXMgPSBbXCIubGF5b3V0LWNhbnZhc1wiLCBcIi5sYXlvdXQtY29sdW1uXCIsIFwiLmxheW91dC1jb21tb24taG9sZGVyXCJdO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlckNsYXNzZXMgPSBcImxheW91dC1lbGVtZW50IGxheW91dC1jb250YWluZXIgbGF5b3V0LWdyaWQgdWktc29ydGFibGUtcGxhY2Vob2xkZXJcIjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSBcIlJvd1wiOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJlbnRDbGFzc2VzID0gW1wiLmxheW91dC1ncmlkXCJdO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlckNsYXNzZXMgPSBcImxheW91dC1lbGVtZW50IGxheW91dC1jb250YWluZXIgbGF5b3V0LXJvdyByb3cgdWktc29ydGFibGUtcGxhY2Vob2xkZXJcIjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSBcIkNvbHVtblwiOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJlbnRDbGFzc2VzID0gW1wiLmxheW91dC1yb3c6bm90KC5sYXlvdXQtcm93LWZ1bGwpXCJdO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlckNsYXNzZXMgPSBcImxheW91dC1lbGVtZW50IGxheW91dC1jb250YWluZXIgbGF5b3V0LWNvbHVtbiB1aS1zb3J0YWJsZS1wbGFjZWhvbGRlclwiO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbG9hdGluZyA9IHRydWU7IC8vIFRvIGVuc3VyZSBhIHNtb290aCBob3Jpem9udGFsLWxpc3QgcmVvcmRlcmluZy4gaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXItdWkvdWktc29ydGFibGUjZmxvYXRpbmdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSBcIkNvbnRlbnRcIjpcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyZW50Q2xhc3NlcyA9IFtcIi5sYXlvdXQtY2FudmFzXCIsIFwiLmxheW91dC1jb2x1bW5cIiwgXCIubGF5b3V0LWNvbW1vbi1ob2xkZXJcIl07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyQ2xhc3NlcyA9IFwibGF5b3V0LWVsZW1lbnQgbGF5b3V0LWNvbnRlbnQgdWktc29ydGFibGUtcGxhY2Vob2xkZXJcIjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSBcIkNhbnZhc1wiOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJlbnRDbGFzc2VzID0gW1wiLmxheW91dC1jYW52YXNcIiwgXCIubGF5b3V0LWNvbHVtblwiLCBcIi5sYXlvdXQtY29tbW9uLWhvbGRlclwiXTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXJDbGFzc2VzID0gXCJsYXlvdXQtZWxlbWVudCBsYXlvdXQtY29udGFpbmVyIGxheW91dC1ncmlkIHVpLXNvcnRhYmxlLXBsYWNlaG9sZGVyXCI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiBcIm1vdmVcIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25uZWN0V2l0aDogXyhwYXJlbnRDbGFzc2VzKS5tYXAoZnVuY3Rpb24gKGUpIHsgcmV0dXJuIFwiI1wiICsgZWRpdG9ySWQgKyBcIiBcIiArIGUgKyBcIjpub3QoLmxheW91dC1jb250YWluZXItc2VhbGVkKSA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyID4gLmxheW91dC1jaGlsZHJlblwiOyB9KS5qb2luKFwiLCBcIiksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI6IHBsYWNlaG9sZGVyQ2xhc3NlcyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcInVpLWZsb2F0aW5nXCI6IGZsb2F0aW5nLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlbHBlcjogXCJjbG9uZVwiLCAvLyBXZSBjbG9uZSB0aGUgZWxlbWVudCBhbmQgd2UgYXBwZW5kIGl0IHRvIHRoZSBib2R5IGJlY2F1c2UgdGhlIGNvbnRhaW5lciBvdmVyZmxvdyBpcyBzZXQgdG8gYXV0byAoc2VlOiBBc3NldHNcXExlc3NcXExheW91dEVkaXRvclxcVG9vbGJveC5sZXNzKSBhbmQgb3RoZXJ3aXNlIGl0IGNvdWxkIG5vdCBiZSBtb3ZlZCB3aXRoIGRyYWcmZHJvcFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFwcGVuZFRvOiBcImJvZHlcIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjcmVhdGU6IGZ1bmN0aW9uIChlLCB1aSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlLnRhcmdldC5pc1Rvb2xib3ggPSB0cnVlOyAvLyBXaWxsIGluZGljYXRlIHRvIGNvbm5lY3RlZCBzb3J0YWJsZXMgdGhhdCBkcm9wcGVkIGl0ZW1zIHdlcmUgc2VudCBmcm9tIHRvb2xib3guXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGFydDogZnVuY3Rpb24gKGUsIHVpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRzY29wZS4kYXBwbHkoZnVuY3Rpb24gKCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHNjb3BlLmVsZW1lbnQuaXNEcmFnZ2luZyA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RvcDogZnVuY3Rpb24gKGUsIHVpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRzY29wZS4kYXBwbHkoZnVuY3Rpb24gKCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHNjb3BlLmVsZW1lbnQuaXNEcmFnZ2luZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHNjb3BlLnJlc2V0RWxlbWVudHMoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvdmVyOiBmdW5jdGlvbiAoZSwgdWkpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHNjb3BlLiRhcHBseShmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkc2NvcGUuZWxlbWVudC5jYW52YXMuc2V0SXNEcm9wVGFyZ2V0KGZhbHNlKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBsYXlvdXRJc0NvbGxhcHNlZENvb2tpZU5hbWUgPSBcImxheW91dFRvb2xib3hDYXRlZ29yeV9MYXlvdXRfSXNDb2xsYXBzZWRcIjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgJHNjb3BlLmxheW91dElzQ29sbGFwc2VkID0gJC5jb29raWUobGF5b3V0SXNDb2xsYXBzZWRDb29raWVOYW1lKSA9PT0gXCJ0cnVlXCI7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAkc2NvcGUudG9nZ2xlTGF5b3V0SXNDb2xsYXBzZWQgPSBmdW5jdGlvbiAoZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJHNjb3BlLmxheW91dElzQ29sbGFwc2VkID0gISRzY29wZS5sYXlvdXRJc0NvbGxhcHNlZDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICQuY29va2llKGxheW91dElzQ29sbGFwc2VkQ29va2llTmFtZSwgJHNjb3BlLmxheW91dElzQ29sbGFwc2VkLCB7IGV4cGlyZXM6IDM2NSB9KTsgLy8gUmVtZW1iZXIgY29sbGFwc2VkIHN0YXRlIGZvciBhIHllYXIuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIF0sXHJcbiAgICAgICAgICAgICAgICB0ZW1wbGF0ZVVybDogZW52aXJvbm1lbnQudGVtcGxhdGVVcmwoXCJUb29sYm94XCIpLFxyXG4gICAgICAgICAgICAgICAgcmVwbGFjZTogdHJ1ZVxyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgIH1cclxuICAgIF0pOyIsImFuZ3VsYXJcclxuICAgIC5tb2R1bGUoXCJMYXlvdXRFZGl0b3JcIilcclxuICAgIC5kaXJlY3RpdmUoXCJvcmNMYXlvdXRUb29sYm94R3JvdXBcIiwgW1wiJGNvbXBpbGVcIiwgXCJlbnZpcm9ubWVudFwiLFxyXG4gICAgICAgIGZ1bmN0aW9uICgkY29tcGlsZSwgZW52aXJvbm1lbnQpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgICAgIHJlc3RyaWN0OiBcIkVcIixcclxuICAgICAgICAgICAgICAgIHNjb3BlOiB7IGNhdGVnb3J5OiBcIj1cIiB9LFxyXG4gICAgICAgICAgICAgICAgY29udHJvbGxlcjogW1wiJHNjb3BlXCIsIFwiJGVsZW1lbnRcIixcclxuICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbiAoJHNjb3BlLCAkZWxlbWVudCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgaXNDb2xsYXBzZWRDb29raWVOYW1lID0gXCJsYXlvdXRUb29sYm94Q2F0ZWdvcnlfXCIgKyAkc2NvcGUuY2F0ZWdvcnkubmFtZSArIFwiX0lzQ29sbGFwc2VkXCI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICRzY29wZS5pc0NvbGxhcHNlZCA9ICQuY29va2llKGlzQ29sbGFwc2VkQ29va2llTmFtZSkgPT09IFwidHJ1ZVwiO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAkc2NvcGUudG9nZ2xlSXNDb2xsYXBzZWQgPSBmdW5jdGlvbiAoZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJHNjb3BlLmlzQ29sbGFwc2VkID0gISRzY29wZS5pc0NvbGxhcHNlZDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICQuY29va2llKGlzQ29sbGFwc2VkQ29va2llTmFtZSwgJHNjb3BlLmlzQ29sbGFwc2VkLCB7IGV4cGlyZXM6IDM2NSB9KTsgLy8gUmVtZW1iZXIgY29sbGFwc2VkIHN0YXRlIGZvciBhIHllYXIuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIF0sXHJcbiAgICAgICAgICAgICAgICB0ZW1wbGF0ZVVybDogZW52aXJvbm1lbnQudGVtcGxhdGVVcmwoXCJUb29sYm94R3JvdXBcIiksXHJcbiAgICAgICAgICAgICAgICByZXBsYWNlOiB0cnVlXHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgfVxyXG4gICAgXSk7Il19 +//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIk9yY2hhcmQuV2ViL01vZHVsZXMvT3JjaGFyZC5MYXlvdXRzL0Fzc2V0cy9KYXZhU2NyaXB0L0xheW91dEVkaXRvci9Nb2R1bGUuanMiLCJPcmNoYXJkLldlYi9Nb2R1bGVzL09yY2hhcmQuTGF5b3V0cy9Bc3NldHMvSmF2YVNjcmlwdC9MYXlvdXRFZGl0b3IvU2VydmljZXMvQ2xpcGJvYXJkLmpzIiwiT3JjaGFyZC5XZWIvTW9kdWxlcy9PcmNoYXJkLkxheW91dHMvQXNzZXRzL0phdmFTY3JpcHQvTGF5b3V0RWRpdG9yL1NlcnZpY2VzL1Njb3BlQ29uZmlndXJhdG9yLmpzIiwiT3JjaGFyZC5XZWIvTW9kdWxlcy9PcmNoYXJkLkxheW91dHMvQXNzZXRzL0phdmFTY3JpcHQvTGF5b3V0RWRpdG9yL0RpcmVjdGl2ZXMvRWRpdG9yLmpzIiwiT3JjaGFyZC5XZWIvTW9kdWxlcy9PcmNoYXJkLkxheW91dHMvQXNzZXRzL0phdmFTY3JpcHQvTGF5b3V0RWRpdG9yL0RpcmVjdGl2ZXMvQ2FudmFzLmpzIiwiT3JjaGFyZC5XZWIvTW9kdWxlcy9PcmNoYXJkLkxheW91dHMvQXNzZXRzL0phdmFTY3JpcHQvTGF5b3V0RWRpdG9yL0RpcmVjdGl2ZXMvQ2hpbGQuanMiLCJPcmNoYXJkLldlYi9Nb2R1bGVzL09yY2hhcmQuTGF5b3V0cy9Bc3NldHMvSmF2YVNjcmlwdC9MYXlvdXRFZGl0b3IvRGlyZWN0aXZlcy9Db2x1bW4uanMiLCJPcmNoYXJkLldlYi9Nb2R1bGVzL09yY2hhcmQuTGF5b3V0cy9Bc3NldHMvSmF2YVNjcmlwdC9MYXlvdXRFZGl0b3IvRGlyZWN0aXZlcy9Db250ZW50LmpzIiwiT3JjaGFyZC5XZWIvTW9kdWxlcy9PcmNoYXJkLkxheW91dHMvQXNzZXRzL0phdmFTY3JpcHQvTGF5b3V0RWRpdG9yL0RpcmVjdGl2ZXMvR3JpZC5qcyIsIk9yY2hhcmQuV2ViL01vZHVsZXMvT3JjaGFyZC5MYXlvdXRzL0Fzc2V0cy9KYXZhU2NyaXB0L0xheW91dEVkaXRvci9EaXJlY3RpdmVzL1Jvdy5qcyIsIk9yY2hhcmQuV2ViL01vZHVsZXMvT3JjaGFyZC5MYXlvdXRzL0Fzc2V0cy9KYXZhU2NyaXB0L0xheW91dEVkaXRvci9EaXJlY3RpdmVzL1BvcHVwLmpzIiwiT3JjaGFyZC5XZWIvTW9kdWxlcy9PcmNoYXJkLkxheW91dHMvQXNzZXRzL0phdmFTY3JpcHQvTGF5b3V0RWRpdG9yL0RpcmVjdGl2ZXMvVG9vbGJveC5qcyIsIk9yY2hhcmQuV2ViL01vZHVsZXMvT3JjaGFyZC5MYXlvdXRzL0Fzc2V0cy9KYXZhU2NyaXB0L0xheW91dEVkaXRvci9EaXJlY3RpdmVzL1Rvb2xib3hHcm91cC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sQ0FBQyxNQUFNLENBQUMsY0FBYyxFQUFFLENBQUMsWUFBWSxFQUFFLFlBQVksRUFBRSxhQUFhLENBQUMsQ0FBQyxDQUFDO0FDQTVFLElBQUksWUFBWSxDQUFDO0FBQ2pCLENBQUMsVUFBUyxZQUFZO0lBRWxCLElBQUksU0FBUyxHQUFHO1FBQ1osSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2hCLElBQUksQ0FBQyxjQUFjLEdBQUcsRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO1FBRXpCLElBQUksQ0FBQyxPQUFPLEdBQUcsVUFBUyxXQUFXLEVBQUUsSUFBSTtZQUNyQyxJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxHQUFHLElBQUksQ0FBQztZQUN4QyxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztRQUM1QixDQUFDLENBQUM7UUFDRixJQUFJLENBQUMsT0FBTyxHQUFHLFVBQVUsV0FBVztZQUNoQyxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztZQUN4QixNQUFNLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUM1QyxDQUFDLENBQUM7UUFDRixJQUFJ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LE9BQU87S0FDRixNQUFNLENBQUMsY0FBYyxDQUFDO0tBQ3RCLFNBQVMsQ0FBQyx1QkFBdUIsRUFBRSxDQUFDLFVBQVUsRUFBRSxhQUFhO0lBQzFELFVBQVUsUUFBUSxFQUFFLFdBQVc7UUFDM0IsTUFBTSxDQUFDO1lBQ0gsUUFBUSxFQUFFLEdBQUc7WUFDYixLQUFLLEVBQUUsRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFFO1lBQ3hCLFVBQVUsRUFBRSxDQUFDLFFBQVEsRUFBRSxVQUFVO2dCQUM3QixVQUFVLE1BQU0sRUFBRSxRQUFRO29CQUN0QixJQUFJLHFCQUFxQixHQUFHLHdCQUF3QixHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxHQUFHLGNBQWMsQ0FBQztvQkFDN0YsTUFBTSxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLHFCQUFxQixDQUFDLEtBQUssTUFBTSxDQUFDO29CQUNoRSxNQUFNLENBQUMsaUJBQWlCLEdBQUcsVUFBVSxDQUFDO3dCQUNsQyxNQUFNLENBQUMsV0FBVyxHQUFHLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQzt3QkFDekMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxxQkFBcUIsRUFBRSxNQUFNLENBQUMsV0FBVyxFQUFFLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyx1Q0FBdUM7d0JBQzlHLENBQUMsQ0FBQyxjQUFjLEVBQUUsQ0FBQzt3QkFDbkIsQ0FBQyxDQUFDLGVBQWUsRUFBRSxDQUFDO29CQUN4QixDQUFDLENBQUM7Z0JBQ04sQ0FBQzthQUNKO1lBQ0QsV0FBVyxFQUFFLFdBQVcsQ0FBQyxXQUFXLENBQUMsY0FBYyxDQUFDO1lBQ3BELE9BQU8sRUFBRSxJQUFJO1NBQ2hCLENBQUM7SUFDTixDQUFDO0NBQ0osQ0FBQyxDQUFDIiwiZmlsZSI6IkxheW91dEVkaXRvci5qcyIsInNvdXJjZXNDb250ZW50IjpbImFuZ3VsYXIubW9kdWxlKFwiTGF5b3V0RWRpdG9yXCIsIFtcIm5nU2FuaXRpemVcIiwgXCJuZ1Jlc291cmNlXCIsIFwidWkuc29ydGFibGVcIl0pOyIsInZhciBMYXlvdXRFZGl0b3I7XHJcbihmdW5jdGlvbihMYXlvdXRFZGl0b3IpIHtcclxuXHJcbiAgICB2YXIgQ2xpcGJvYXJkID0gZnVuY3Rpb24gKCkge1xyXG4gICAgICAgIHZhciBzZWxmID0gdGhpcztcclxuICAgICAgICB0aGlzLl9jbGlwYm9hcmREYXRhID0ge307XHJcbiAgICAgICAgdGhpcy5faXNEaXNhYmxlZCA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuX3dhc0ludm9rZWQgPSBmYWxzZTtcclxuXHJcbiAgICAgICAgdGhpcy5zZXREYXRhID0gZnVuY3Rpb24oY29udGVudFR5cGUsIGRhdGEpIHtcclxuICAgICAgICAgICAgc2VsZi5fY2xpcGJvYXJkRGF0YVtjb250ZW50VHlwZV0gPSBkYXRhO1xyXG4gICAgICAgICAgICBzZWxmLl93YXNJbnZva2VkID0gdHJ1ZTtcclxuICAgICAgICB9O1xyXG4gICAgICAgIHRoaXMuZ2V0RGF0YSA9IGZ1bmN0aW9uIChjb250ZW50VHlwZSkge1xyXG4gICAgICAgICAgICBzZWxmLl93YXNJbnZva2VkID0gdHJ1ZTtcclxuICAgICAgICAgICAgcmV0dXJuIHNlbGYuX2NsaXBib2FyZERhdGFbY29udGVudFR5cGVdO1xyXG4gICAgICAgIH07XHJcbiAgICAgICAgdGhpcy5kaXNhYmxlID0gZnVuY3Rpb24oKSB7XHJcbiAgICAgICAgICAgIHNlbGYuX2lzRGlzYWJsZWQgPSB0cnVlO1xyXG4gICAgICAgICAgICBzZWxmLl93YXNJbnZva2VkID0gZmFsc2U7XHJcbiAgICAgICAgICAgIHNlbGYuX2NsaXBib2FyZERhdGEgPSB7fTtcclxuICAgICAgICB9O1xyXG4gICAgICAgIHRoaXMuaXNEaXNhYmxlZCA9IGZ1bmN0aW9uICgpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHNlbGYuX2lzRGlzYWJsZWQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMud2FzSW52b2tlZCA9IGZ1bmN0aW9uICgpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHNlbGYuX3dhc0ludm9rZWQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIExheW91dEVkaXRvci5DbGlwYm9hcmQgPSBuZXcgQ2xpcGJvYXJkKCk7XHJcblxyXG4gICAgYW5ndWxhclxyXG4gICAgICAgIC5tb2R1bGUoXCJMYXlvdXRFZGl0b3JcIilcclxuICAgICAgICAuZmFjdG9yeShcImNsaXBib2FyZFwiLCBbXHJcbiAgICAgICAgICAgIGZ1bmN0aW9uKCkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgICAgICAgICBzZXREYXRhOiBMYXlvdXRFZGl0b3IuQ2xpcGJvYXJkLnNldERhdGEsXHJcbiAgICAgICAgICAgICAgICAgICAgZ2V0RGF0YTogTGF5b3V0RWRpdG9yLkNsaXBib2FyZC5nZXREYXRhLFxyXG4gICAgICAgICAgICAgICAgICAgIGRpc2FibGU6IExheW91dEVkaXRvci5DbGlwYm9hcmQuZGlzYWJsZSxcclxuICAgICAgICAgICAgICAgICAgICBpc0Rpc2FibGVkOiBMYXlvdXRFZGl0b3IuQ2xpcGJvYXJkLmlzRGlzYWJsZWQsXHJcbiAgICAgICAgICAgICAgICAgICAgd2FzSW52b2tlZDogTGF5b3V0RWRpdG9yLkNsaXBib2FyZC53YXNJbnZva2VkXHJcbiAgICAgICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgXSk7XHJcbn0pKExheW91dEVkaXRvciB8fCAoTGF5b3V0RWRpdG9yID0ge30pKTsiLCJhbmd1bGFyXHJcbiAgICAubW9kdWxlKFwiTGF5b3V0RWRpdG9yXCIpXHJcbiAgICAuZmFjdG9yeShcInNjb3BlQ29uZmlndXJhdG9yXCIsIFtcIiR0aW1lb3V0XCIsIFwiY2xpcGJvYXJkXCIsXHJcbiAgICAgICAgZnVuY3Rpb24gKCR0aW1lb3V0LCBjbGlwYm9hcmQpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHtcclxuXHJcbiAgICAgICAgICAgICAgICBjb25maWd1cmVGb3JFbGVtZW50OiBmdW5jdGlvbiAoJHNjb3BlLCAkZWxlbWVudCkge1xyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgJGVsZW1lbnQuZmluZChcIi5sYXlvdXQtcGFuZWxcIikuY2xpY2soZnVuY3Rpb24gKGUpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgICAgICAgICAgICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgJGVsZW1lbnQucGFyZW50KCkua2V5ZG93bihmdW5jdGlvbiAoZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgaGFuZGxlZCA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgcmVzZXRGb2N1cyA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgZWxlbWVudCA9ICRzY29wZS5lbGVtZW50O1xyXG4gICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoZWxlbWVudC5lZGl0b3IuaXNEcmFnZ2luZylcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIElmIG5hdGl2ZSBjbGlwYm9hcmQgc3VwcG9ydCBleGlzdHMsIHRoZSBwc2V1ZG8tY2xpcGJvYXJkIHdpbGwgaGF2ZSBiZWVuIGRpc2FibGVkLlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWNsaXBib2FyZC5pc0Rpc2FibGVkKCkpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBmb2N1c2VkRWxlbWVudCA9IGVsZW1lbnQuZWRpdG9yLmZvY3VzZWRFbGVtZW50O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCEhZm9jdXNlZEVsZW1lbnQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBQc2V1ZG8gY2xpcGJvYXJkIGhhbmRsaW5nIGZvciBicm93c2VycyBub3QgYWxsb3dpbmcgcmVhbCBjbGlwYm9hcmQgb3BlcmF0aW9ucy5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZS5jdHJsS2V5KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN3aXRjaCAoZS53aGljaCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDY3OiAvLyBDXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb2N1c2VkRWxlbWVudC5jb3B5KGNsaXBib2FyZCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSA4ODogLy8gWFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9jdXNlZEVsZW1lbnQuY3V0KGNsaXBib2FyZCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSA4NjogLy8gVlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9jdXNlZEVsZW1lbnQucGFzdGUoY2xpcGJvYXJkKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWUuY3RybEtleSAmJiAhZS5zaGlmdEtleSAmJiAhZS5hbHRLZXkgJiYgZS53aGljaCA9PSA0NikgeyAvLyBEZWxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICRzY29wZS5kZWxldGUoZWxlbWVudCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGVkID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmICghZS5jdHJsS2V5ICYmICFlLnNoaWZ0S2V5ICYmICFlLmFsdEtleSAmJiAoZS53aGljaCA9PSAzMiB8fCBlLndoaWNoID09IDI3KSkgeyAvLyBTcGFjZSBvciBFc2NcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICRlbGVtZW50LmZpbmQoXCIubGF5b3V0LXBhbmVsLWFjdGlvbi1wcm9wZXJ0aWVzXCIpLmZpcnN0KCkuY2xpY2soKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZWQgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoISFlbGVtZW50Lmhhc0VkaXRvcikgeyAvLyBUaGlzIGVsZW1lbnQgaGFzIGFuIGVkaXRvciBkaWFsb2cuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWUuY3RybEtleSAmJiAhZS5zaGlmdEtleSAmJiAhZS5hbHRLZXkgJiYgZS53aGljaCA9PSAxMykgeyAvLyBFbnRlclxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRlbGVtZW50LmZpbmQoXCIubGF5b3V0LXBhbmVsLWFjdGlvbi1lZGl0XCIpLmZpcnN0KCkuY2xpY2soKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGVkID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCEhZWxlbWVudC5jaGlsZHJlbikgeyAvLyBUaGlzIGlzIGEgY29udGFpbmVyLlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFlLmN0cmxLZXkgJiYgIWUuc2hpZnRLZXkgJiYgZS5hbHRLZXkgJiYgZS53aGljaCA9PSA0MCkgeyAvLyBBbHQrRG93blxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChlbGVtZW50LmNoaWxkcmVuLmxlbmd0aCA+IDApXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnQuY2hpbGRyZW5bMF0uc2V0SXNGb2N1c2VkKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlZCA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGVsZW1lbnQudHlwZSA9PSBcIkNvbHVtblwiKSB7IC8vIFRoaXMgaXMgYSBjb2x1bW4uXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGNvbm5lY3RBZGphY2VudCA9ICFlLmN0cmxLZXk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGUud2hpY2ggPT0gMzcpIHsgLy8gTGVmdFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZS5hbHRLZXkpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbGVtZW50LmV4cGFuZExlZnQoY29ubmVjdEFkamFjZW50KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGUuc2hpZnRLZXkpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbGVtZW50LmNvbnRyYWN0UmlnaHQoY29ubmVjdEFkamFjZW50KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlZCA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChlLndoaWNoID09IDM5KSB7IC8vIFJpZ2h0XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChlLmFsdEtleSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnQuY29udHJhY3RMZWZ0KGNvbm5lY3RBZGphY2VudCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChlLnNoaWZ0S2V5KVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxlbWVudC5leHBhbmRSaWdodChjb25uZWN0QWRqYWNlbnQpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGVkID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghIWVsZW1lbnQucGFyZW50KSB7IC8vIFRoaXMgaXMgYSBjaGlsZC5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChlLmFsdEtleSAmJiBlLndoaWNoID09IDM4KSB7IC8vIEFsdCtVcFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnQucGFyZW50LnNldElzRm9jdXNlZCgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZWQgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChlbGVtZW50LnBhcmVudC50eXBlID09IFwiUm93XCIpIHsgLy8gUGFyZW50IGlzIGEgaG9yaXpvbnRhbCBjb250YWluZXIuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFlLmN0cmxLZXkgJiYgIWUuc2hpZnRLZXkgJiYgIWUuYWx0S2V5ICYmIGUud2hpY2ggPT0gMzcpIHsgLy8gTGVmdFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbGVtZW50LnBhcmVudC5tb3ZlRm9jdXNQcmV2Q2hpbGQoZWxlbWVudCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZWQgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlIGlmICghZS5jdHJsS2V5ICYmICFlLnNoaWZ0S2V5ICYmICFlLmFsdEtleSAmJiBlLndoaWNoID09IDM5KSB7IC8vIFJpZ2h0XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnQucGFyZW50Lm1vdmVGb2N1c05leHRDaGlsZChlbGVtZW50KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlZCA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKGUuY3RybEtleSAmJiAhZS5zaGlmdEtleSAmJiAhZS5hbHRLZXkgJiYgZS53aGljaCA9PSAzNykgeyAvLyBDdHJsK0xlZnRcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxlbWVudC5tb3ZlVXAoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzZXRGb2N1cyA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZWQgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlIGlmIChlLmN0cmxLZXkgJiYgIWUuc2hpZnRLZXkgJiYgIWUuYWx0S2V5ICYmIGUud2hpY2ggPT0gMzkpIHsgLy8gQ3RybCtSaWdodFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbGVtZW50Lm1vdmVEb3duKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZWQgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgeyAvLyBQYXJlbnQgaXMgYSB2ZXJ0aWNhbCBjb250YWluZXIuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFlLmN0cmxLZXkgJiYgIWUuc2hpZnRLZXkgJiYgIWUuYWx0S2V5ICYmIGUud2hpY2ggPT0gMzgpIHsgLy8gVXBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxlbWVudC5wYXJlbnQubW92ZUZvY3VzUHJldkNoaWxkKGVsZW1lbnQpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGVkID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAoIWUuY3RybEtleSAmJiAhZS5zaGlmdEtleSAmJiAhZS5hbHRLZXkgJiYgZS53aGljaCA9PSA0MCkgeyAvLyBEb3duXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnQucGFyZW50Lm1vdmVGb2N1c05leHRDaGlsZChlbGVtZW50KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlZCA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKGUuY3RybEtleSAmJiAhZS5zaGlmdEtleSAmJiAhZS5hbHRLZXkgJiYgZS53aGljaCA9PSAzOCkgeyAvLyBDdHJsK1VwXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnQubW92ZVVwKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc2V0Rm9jdXMgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGVkID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAoZS5jdHJsS2V5ICYmICFlLnNoaWZ0S2V5ICYmICFlLmFsdEtleSAmJiBlLndoaWNoID09IDQwKSB7IC8vIEN0cmwrRG93blxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbGVtZW50Lm1vdmVEb3duKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZWQgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGhhbmRsZWQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICRzY29wZS4kYXBwbHkoKTsgLy8gRXZlbnQgaXMgbm90IHRyaWdnZXJlZCBieSBBbmd1bGFyIGRpcmVjdGl2ZSBidXQgcmF3IGV2ZW50IGhhbmRsZXIgb24gZWxlbWVudC5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIEhBQ0s6IFdvcmthcm91bmQgYmVjYXVzZSBvZiBob3cgQW5ndWxhciB0cmVhdHMgdGhlIERPTSB3aGVuIGVsZW1lbnRzIGFyZSBzaGlmdGVkIGFyb3VuZCAtIGlucHV0IGZvY3VzIGlzIHNvbWV0aW1lcyBsb3N0LlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAocmVzZXRGb2N1cykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2luZG93LnNldFRpbWVvdXQoZnVuY3Rpb24gKCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRzY29wZS4kYXBwbHkoZnVuY3Rpb24gKCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbGVtZW50LmVkaXRvci5mb2N1c2VkRWxlbWVudC5zZXRJc0ZvY3VzZWQoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIDEwMCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgJHNjb3BlLmVsZW1lbnQuc2V0SXNGb2N1c2VkRXZlbnRIYW5kbGVycy5wdXNoKGZ1bmN0aW9uICgpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgJGVsZW1lbnQucGFyZW50KCkuZm9jdXMoKTtcclxuICAgICAgICAgICAgICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgJHNjb3BlLmRlbGV0ZSA9IGZ1bmN0aW9uIChlbGVtZW50KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnQuZGVsZXRlKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICQuZXZlbnQudHJpZ2dlcih7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBcImxheW91dGVkaXRvcjplZGl0ZWRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIGlmICgkc2NvcGUuZWxlbWVudC5oYXNFZGl0b3IpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgJHNjb3BlLmVkaXQgPSBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkc2NvcGUuJHJvb3QuZWRpdEVsZW1lbnQoJHNjb3BlLmVsZW1lbnQpLmRvbmUoZnVuY3Rpb24gKGFyZ3MpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkc2NvcGUuJGFwcGx5KGZ1bmN0aW9uICgpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGFyZ3MuY2FuY2VsKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHNjb3BlLmVsZW1lbnQuZGF0YSA9IGFyZ3MuZWxlbWVudC5kYXRhO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkc2NvcGUuZWxlbWVudC5hcHBseUVsZW1lbnRFZGl0b3JNb2RlbChhcmdzLmVsZW1lbnRFZGl0b3JNb2RlbCk7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoISEkc2NvcGUuZWxlbWVudC5zZXRIdG1sKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHNjb3BlLmVsZW1lbnQuc2V0SHRtbChhcmdzLmVsZW1lbnQuaHRtbCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9LFxyXG5cclxuICAgICAgICAgICAgICAgIGNvbmZpZ3VyZUZvckNvbnRhaW5lcjogZnVuY3Rpb24gKCRzY29wZSwgJGVsZW1lbnQpIHtcclxuICAgICAgICAgICAgICAgICAgICB2YXIgZWxlbWVudCA9ICRzY29wZS5lbGVtZW50O1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAvLyRzY29wZS5pc1JlY2VpdmluZyA9IGZhbHNlOyAvLyBUcnVlIHdoZW4gY29udGFpbmVyIGlzIHJlY2VpdmluZyBhbiBleHRlcm5hbCBlbGVtZW50IHZpYSBkcmFnL2Ryb3AuXHJcbiAgICAgICAgICAgICAgICAgICAgJHNjb3BlLmdldFNob3dDaGlsZHJlblBsYWNlaG9sZGVyID0gZnVuY3Rpb24gKCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gJHNjb3BlLmVsZW1lbnQuY2hpbGRyZW4ubGVuZ3RoID09PSAwICYmICEkc2NvcGUuZWxlbWVudC5nZXRJc0Ryb3BUYXJnZXQoKTtcclxuICAgICAgICAgICAgICAgICAgICB9O1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAkc2NvcGUuc29ydGFibGVPcHRpb25zID0ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjdXJzb3I6IFwibW92ZVwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBkZWxheTogMTUwLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZDogZWxlbWVudC5nZXRJc1NlYWxlZCgpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXN0YW5jZTogNSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgLy9oYW5kbGU6IGVsZW1lbnQuY2hpbGRyZW4ubGVuZ3RoIDwgMiA/IFwiLmltYWdpbmFyeS1jbGFzc1wiIDogZmFsc2UsIC8vIEZvciBzb21lIHJlYXNvbiBkb2Vzbid0IGdldCByZS1ldmFsdWF0ZWQgYWZ0ZXIgYWRkaW5nIG1vcmUgY2hpbGRyZW4uXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0YXJ0OiBmdW5jdGlvbiAoZSwgdWkpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICRzY29wZS4kYXBwbHkoZnVuY3Rpb24gKCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnQuc2V0SXNEcm9wVGFyZ2V0KHRydWUpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnQuZWRpdG9yLmlzRHJhZ2dpbmcgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBNYWtlIHRoZSBkcm9wIHRhcmdldCBwbGFjZWhvbGRlciBhcyBoaWdoIGFzIHRoZSBpdGVtIGJlaW5nIGRyYWdnZWQuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aS5wbGFjZWhvbGRlci5oZWlnaHQodWkuaXRlbS5oZWlnaHQoKSAtIDQpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdWkucGxhY2Vob2xkZXIuY3NzKFwibWluLWhlaWdodFwiLCAwKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgc3RvcDogZnVuY3Rpb24gKGUsIHVpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkc2NvcGUuJGFwcGx5KGZ1bmN0aW9uICgpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbGVtZW50LmVkaXRvci5pc0RyYWdnaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxlbWVudC5zZXRJc0Ryb3BUYXJnZXQoZmFsc2UpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG92ZXI6IGZ1bmN0aW9uIChlLCB1aSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCEhdWkuc2VuZGVyICYmICEhdWkuc2VuZGVyWzBdLmlzVG9vbGJveCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghIXVpLnNlbmRlclswXS5kcm9wVGFyZ2V0VGltZW91dCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdGltZW91dC5jYW5jZWwodWkuc2VuZGVyWzBdLmRyb3BUYXJnZXRUaW1lb3V0KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWkuc2VuZGVyWzBdLmRyb3BUYXJnZXRUaW1lb3V0ID0gbnVsbDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHRpbWVvdXQoZnVuY3Rpb24gKCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZWxlbWVudC50eXBlID09IFwiUm93XCIpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIElmIHRoZXJlIHdhcyBhIHByZXZpb3VzIGRyb3AgdGFyZ2V0IGFuZCBpdCB3YXMgYSByb3csIHJvbGwgYmFjayBhbnkgcGVuZGluZyBjb2x1bW4gYWRkcyB0byBpdC5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBwcmV2aW91c0Ryb3BUYXJnZXQgPSBlbGVtZW50LmVkaXRvci5kcm9wVGFyZ2V0RWxlbWVudDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghIXByZXZpb3VzRHJvcFRhcmdldCAmJiBwcmV2aW91c0Ryb3BUYXJnZXQudHlwZSA9PSBcIlJvd1wiKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByZXZpb3VzRHJvcFRhcmdldC5yb2xsYmFja0FkZENvbHVtbigpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnQuc2V0SXNEcm9wVGFyZ2V0KGZhbHNlKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aS5zZW5kZXJbMF0uZHJvcFRhcmdldFRpbWVvdXQgPSAkdGltZW91dChmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChlbGVtZW50LnR5cGUgPT0gXCJSb3dcIikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHJlY2VpdmVkQ29sdW1uID0gdWkuaXRlbS5zb3J0YWJsZS5tb2RlbDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciByZWNlaXZlZENvbHVtbldpZHRoID0gTWF0aC5mbG9vcigxMiAvIChlbGVtZW50LmNoaWxkcmVuLmxlbmd0aCArIDEpKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlY2VpdmVkQ29sdW1uLndpZHRoID0gcmVjZWl2ZWRDb2x1bW5XaWR0aDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlY2VpdmVkQ29sdW1uLm9mZnNldCA9IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbGVtZW50LmJlZ2luQWRkQ29sdW1uKHJlY2VpdmVkQ29sdW1uV2lkdGgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gTWFrZSB0aGUgZHJvcCB0YXJnZXQgcGxhY2Vob2xkZXIgdGhlIGNvcnJlY3Qgd2lkdGggYW5kIGFzIGhpZ2ggYXMgdGhlIGhpZ2hlc3QgZXhpc3RpbmcgY29sdW1uIGluIHRoZSByb3cuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgbWF4SGVpZ2h0ID0gXy5tYXgoXygkZWxlbWVudC5maW5kKFwiPiAubGF5b3V0LWNoaWxkcmVuID4gLmxheW91dC1jb2x1bW46bm90KC51aS1zb3J0YWJsZS1wbGFjZWhvbGRlcilcIikpLm1hcChmdW5jdGlvbiAoZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAkKGUpLmhlaWdodCgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChpID0gMTsgaSA8PSAxMjsgaSsrKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpLnBsYWNlaG9sZGVyLnJlbW92ZUNsYXNzKFwiY29sLVwiICsgaSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aS5wbGFjZWhvbGRlci5hZGRDbGFzcyhcImNvbC1cIiArIHJlY2VpdmVkQ29sdW1uLndpZHRoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChtYXhIZWlnaHQgPiAwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWkucGxhY2Vob2xkZXIuaGVpZ2h0KG1heEhlaWdodCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWkucGxhY2Vob2xkZXIuY3NzKFwibWluLWhlaWdodFwiLCAwKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpLnBsYWNlaG9sZGVyLmhlaWdodCgwKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aS5wbGFjZWhvbGRlci5jc3MoXCJtaW4taGVpZ2h0XCIsIFwiXCIpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnQuc2V0SXNEcm9wVGFyZ2V0KHRydWUpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIDE1MCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlY2VpdmU6IGZ1bmN0aW9uIChlLCB1aSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCEhdWkuc2VuZGVyICYmICEhdWkuc2VuZGVyWzBdLmlzVG9vbGJveCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRzY29wZS4kYXBwbHkoZnVuY3Rpb24gKCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgcmVjZWl2ZWRFbGVtZW50ID0gdWkuaXRlbS5zb3J0YWJsZS5tb2RlbDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCEhcmVjZWl2ZWRFbGVtZW50KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZWxlbWVudC50eXBlID09IFwiUm93XCIpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxlbWVudC5jb21taXRBZGRDb2x1bW4oKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFNob3VsZCBpZGVhbGx5IGNhbGwgTGF5b3V0RWRpdG9yLkNvbnRhaW5lci5hZGRDaGlsZCgpIGluc3RlYWQsIGJ1dCBzaW5jZSB0aGlzIGhhbmRsZXJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGlzIHJ1biAqYmVmb3JlKiB0aGUgdWktc29ydGFibGUgZGlyZWN0aXZlJ3MgaGFuZGxlciwgaWYgd2UgdHJ5IHRvIGFkZCB0aGUgY2hpbGQgdG8gdGhlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBhcnJheSB0aGF0IGhhbmRsZXIgd2lsbCBnZXQgYW4gZXhjZXB0aW9uIHdoZW4gdHJ5aW5nIHRvIGRvIHRoZSBzYW1lLlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gQmVjYXVzZSBvZiB0aGlzLCB3ZSBuZWVkIHRvIGludm9rZSBcInNldFBhcmVudFwiIHNvIHRoYXQgc3BlY2lmaWMgY29udGFpbmVyIHR5cGVzIGNhbiBwZXJmb3JtIGVsZW1lbnQgc3BlZmljaWMgaW5pdGlhbGl6YXRpb24uXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWNlaXZlZEVsZW1lbnQuc2V0RWRpdG9yKGVsZW1lbnQuZWRpdG9yKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlY2VpdmVkRWxlbWVudC5zZXRQYXJlbnQoZWxlbWVudCk7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCEhcmVjZWl2ZWRFbGVtZW50Lmhhc0VkaXRvcikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRzY29wZS4kcm9vdC5lZGl0RWxlbWVudChyZWNlaXZlZEVsZW1lbnQpLmRvbmUoZnVuY3Rpb24gKGFyZ3MpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFhcmdzLmNhbmNlbCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVjZWl2ZWRFbGVtZW50LmRhdGEgPSBhcmdzLmVsZW1lbnQuZGF0YTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlY2VpdmVkRWxlbWVudC5hcHBseUVsZW1lbnRFZGl0b3JNb2RlbChhcmdzLmVsZW1lbnRFZGl0b3JNb2RlbCk7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCEhcmVjZWl2ZWRFbGVtZW50LnNldEh0bWwpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVjZWl2ZWRFbGVtZW50LnNldEh0bWwoYXJncy5lbGVtZW50Lmh0bWwpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR0aW1lb3V0KGZ1bmN0aW9uICgpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghIWFyZ3MuY2FuY2VsKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlY2VpdmVkRWxlbWVudC5kZWxldGUoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWNlaXZlZEVsZW1lbnQuc2V0SXNGb2N1c2VkKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyRzY29wZS5pc1JlY2VpdmluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxlbWVudC5zZXRJc0Ryb3BUYXJnZXQoZmFsc2UpO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdGltZW91dChmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyRzY29wZS5pc1JlY2VpdmluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxlbWVudC5zZXRJc0Ryb3BUYXJnZXQoZmFsc2UpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCEhcmVjZWl2ZWRFbGVtZW50KVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlY2VpdmVkRWxlbWVudC5zZXRJc0ZvY3VzZWQoKTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkc2NvcGUuJHJvb3QuYWRkRWxlbWVudChyZWNlaXZlZEVsZW1lbnQpLmRvbmUoZnVuY3Rpb24gKCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH07XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICRzY29wZS5jbGljayA9IGZ1bmN0aW9uIChjaGlsZCwgZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWNoaWxkLmVkaXRvci5pc0RyYWdnaW5nKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hpbGQuc2V0SXNGb2N1c2VkKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgJHNjb3BlLmdldENsYXNzZXMgPSBmdW5jdGlvbiAoY2hpbGQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHJlc3VsdCA9IFtcImxheW91dC1lbGVtZW50XCJdO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCEhY2hpbGQuY2hpbGRyZW4pIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdC5wdXNoKFwibGF5b3V0LWNvbnRhaW5lclwiKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChjaGlsZC5nZXRJc1NlYWxlZCgpKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdC5wdXNoKFwibGF5b3V0LWNvbnRhaW5lci1zZWFsZWRcIik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdC5wdXNoKFwibGF5b3V0LVwiICsgY2hpbGQudHlwZS50b0xvd2VyQ2FzZSgpKTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghIWNoaWxkLmRyb3BUYXJnZXRDbGFzcylcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdC5wdXNoKGNoaWxkLmRyb3BUYXJnZXRDbGFzcyk7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBUT0RPOiBNb3ZlIHRoZXNlIHRvIGVpdGhlciB0aGUgQ29sdW1uIGRpcmVjdGl2ZSBvciB0aGUgQ29sdW1uIG1vZGVsIGNsYXNzLlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoY2hpbGQudHlwZSA9PSBcIlJvd1wiKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQucHVzaChcInJvd1wiKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghY2hpbGQuY2FuQWRkQ29sdW1uKCkpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0LnB1c2goXCJsYXlvdXQtcm93LWZ1bGxcIik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGNoaWxkLnR5cGUgPT0gXCJDb2x1bW5cIikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0LnB1c2goXCJjb2wtXCIgKyBjaGlsZC53aWR0aCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQucHVzaChcImNvbC1vZmZzZXQtXCIgKyBjaGlsZC5vZmZzZXQpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChjaGlsZC50eXBlID09IFwiQ29udGVudFwiKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0LnB1c2goXCJsYXlvdXQtY29udGVudC1cIiArIGNoaWxkLmNvbnRlbnRUeXBlQ2xhc3MpO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGNoaWxkLmdldElzQWN0aXZlKCkpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQucHVzaChcImxheW91dC1lbGVtZW50LWFjdGl2ZVwiKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGNoaWxkLmdldElzRm9jdXNlZCgpKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0LnB1c2goXCJsYXlvdXQtZWxlbWVudC1mb2N1c2VkXCIpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoY2hpbGQuZ2V0SXNTZWxlY3RlZCgpKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0LnB1c2goXCJsYXlvdXQtZWxlbWVudC1zZWxlY3RlZFwiKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGNoaWxkLmdldElzRHJvcFRhcmdldCgpKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0LnB1c2goXCJsYXlvdXQtZWxlbWVudC1kcm9wdGFyZ2V0XCIpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoY2hpbGQuaXNUZW1wbGF0ZWQpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQucHVzaChcImxheW91dC1lbGVtZW50LXRlbXBsYXRlZFwiKTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XHJcbiAgICAgICAgICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfTtcclxuICAgICAgICB9XHJcbiAgICBdKTsiLCJhbmd1bGFyXHJcbiAgICAubW9kdWxlKFwiTGF5b3V0RWRpdG9yXCIpXHJcbiAgICAuZGlyZWN0aXZlKFwib3JjTGF5b3V0RWRpdG9yXCIsIFtcImVudmlyb25tZW50XCIsXHJcbiAgICAgICAgZnVuY3Rpb24gKGVudmlyb25tZW50KSB7XHJcbiAgICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgICAgICByZXN0cmljdDogXCJFXCIsXHJcbiAgICAgICAgICAgICAgICBzY29wZToge30sXHJcbiAgICAgICAgICAgICAgICBjb250cm9sbGVyOiBbXCIkc2NvcGVcIiwgXCIkZWxlbWVudFwiLCBcIiRhdHRyc1wiLCBcIiRjb21waWxlXCIsIFwiY2xpcGJvYXJkXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gKCRzY29wZSwgJGVsZW1lbnQsICRhdHRycywgJGNvbXBpbGUsIGNsaXBib2FyZCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoISEkYXR0cnMubW9kZWwpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkc2NvcGUuZWxlbWVudCA9IGV2YWwoJGF0dHJzLm1vZGVsKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZWxzZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiVGhlICdtb2RlbCcgYXR0cmlidXRlIG11c3QgZXZhbHVhdGUgdG8gYSBMYXlvdXRFZGl0b3IuRWRpdG9yIG9iamVjdC5cIik7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAkc2NvcGUuY2xpY2sgPSBmdW5jdGlvbiAoY2FudmFzLCBlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWNhbnZhcy5lZGl0b3IuaXNEcmFnZ2luZylcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYW52YXMuc2V0SXNGb2N1c2VkKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9O1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgJHNjb3BlLmdldENsYXNzZXMgPSBmdW5jdGlvbiAoY2FudmFzKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgcmVzdWx0ID0gW1wibGF5b3V0LWVsZW1lbnRcIiwgXCJsYXlvdXQtY29udGFpbmVyXCIsIFwibGF5b3V0LWNhbnZhc1wiXTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoY2FudmFzLmdldElzQWN0aXZlKCkpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0LnB1c2goXCJsYXlvdXQtZWxlbWVudC1hY3RpdmVcIik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoY2FudmFzLmdldElzRm9jdXNlZCgpKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdC5wdXNoKFwibGF5b3V0LWVsZW1lbnQtZm9jdXNlZFwiKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChjYW52YXMuZ2V0SXNTZWxlY3RlZCgpKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdC5wdXNoKFwibGF5b3V0LWVsZW1lbnQtc2VsZWN0ZWRcIik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoY2FudmFzLmdldElzRHJvcFRhcmdldCgpKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdC5wdXNoKFwibGF5b3V0LWVsZW1lbnQtZHJvcHRhcmdldFwiKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChjYW52YXMuaXNUZW1wbGF0ZWQpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0LnB1c2goXCJsYXlvdXQtZWxlbWVudC10ZW1wbGF0ZWRcIik7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIEFuIHVuZm9ydHVuYXRlIHNpZGUtZWZmZWN0IG9mIHRoZSBuZXh0IGhhY2sgb24gbGluZSA1NCBpcyB0aGF0IHRoZSBjcmVhdGVkIGVsZW1lbnRzIGFyZW4ndCBhZGRlZCB0byB0aGUgRE9NIHlldCwgc28gd2UgY2FuJ3QgdXNlIGl0IHRvIGdldCB0byB0aGUgcGFyZW50IFwiLmxheW91dC1kZXNpZ2VyXCIgZWxlbWVudC5cclxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gV29yayBhcm91bmQ6IGFjY2VzcyB0aGF0IGVsZW1lbnQgZGlyZWN0bHkgKHdoaWNoIGVmZWN0aXZlbHkgdHVybnMgbXVsdGlwbGUgbGF5b3V0IGVkaXRvcnMgb24gYSBzaW5nbGUgcGFnZSBpbXBvc3NpYmxlKS4gXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIC8vdmFyIGxheW91dERlc2lnbmVySG9zdCA9ICRlbGVtZW50LmNsb3Nlc3QoXCIubGF5b3V0LWRlc2lnbmVyXCIpLmRhdGEoXCJsYXlvdXQtZGVzaWduZXItaG9zdFwiKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGxheW91dERlc2lnbmVySG9zdCA9ICQoXCIubGF5b3V0LWRlc2lnbmVyXCIpLmRhdGEoXCJsYXlvdXQtZGVzaWduZXItaG9zdFwiKTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICRzY29wZS4kcm9vdC5sYXlvdXREZXNpZ25lckhvc3QgPSBsYXlvdXREZXNpZ25lckhvc3Q7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICBsYXlvdXREZXNpZ25lckhvc3QuZWxlbWVudC5vbihcInJlcGxhY2VjYW52YXNcIiwgZnVuY3Rpb24gKGUsIGFyZ3MpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBlZGl0b3IgPSAkc2NvcGUuZWxlbWVudDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBjYW52YXNEYXRhID0ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGE6IGFyZ3MuY2FudmFzLmRhdGEsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHRtbElkOiBhcmdzLmNhbnZhcy5odG1sSWQsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHRtbENsYXNzOiBhcmdzLmNhbnZhcy5odG1sQ2xhc3MsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHRtbFN0eWxlOiBhcmdzLmNhbnZhcy5odG1sU3R5bGUsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNUZW1wbGF0ZWQ6IGFyZ3MuY2FudmFzLmlzVGVtcGxhdGVkLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoaWxkcmVuOiBhcmdzLmNhbnZhcy5jaGlsZHJlblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBIQUNLOiBJbnN0ZWFkIG9mIHNpbXBseSB1cGRhdGluZyB0aGUgJHNjb3BlLmVsZW1lbnQgd2l0aCBhIG5ldyBpbnN0YW5jZSwgd2UgbmVlZCB0byByZXBsYWNlIHRoZSBlbnRpcmUgb3JjLWxheW91dC1lZGl0b3IgbWFya3VwXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBpbiBvcmRlciBmb3IgYW5ndWxhciB0byByZWJpbmQgc3RhcnRpbmcgd2l0aCB0aGUgQ2FudmFzIGVsZW1lbnQuIE90aGVyd2lzZSwgZm9yIHNvbWUgcmVhc29uLCBpdCB3aWxsIHJlYmluZCBzdGFydGluZyB3aXRoIHRoZSBmaXJzdCBjaGlsZCBvZiBDYW52YXMuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBZb3UgY2FuIHNlZSB0aGlzIGhhcHBlbmluZyB3aGVuIHNldHRpbmcgYSBicmVha3BvaW50IGluIFNjb3BlQ29uZmlndXJhdG9yIHdoZXJlIGNvbnRhaW5lcnMgYXJlIGluaXRpYWxpemVkIHdpdGggZHJhZyAmIGRyb3A6IG9uIHBhZ2UgbG9hZCwgdGhlIGZpcnN0IGVsZW1lbnRcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGlzIGEgQ2FudmFzIChnb29kKSwgYnV0IGFmdGVyIGhhdmluZyBzZWxlY3RlZCBhbm90aGVyIHRlbXBsYXRlLCB0aGUgZmlyc3QgZWxlbWVudCBpcyAodHlwaWNhbGx5KSBhIEdyaWQgKGJhZCkuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBTaW1wbHkgcmVjb21waWxpbmcgdGhlIG9yYy1sYXlvdXQtZWRpdG9yIGRpcmVjdGl2ZSB3aWxsIGNhdXNlIHRoZSBlbnRpcmUgdGhpbmcgdG8gYmUgZ2VuZXJhdGVkLCB3aGljaCB3b3JrcyBqdXN0IGZpbmUgYXMgd2VsbCAoZXZlbiB0aG91Z2ggbm90IGlzIG5pY2UgYXMgc2ltcGx5IGxldmVyYWdpbmcgbW9kZWwgYmluZGluZykuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYXlvdXREZXNpZ25lckhvc3QuZWRpdG9yID0gd2luZG93LmxheW91dEVkaXRvciA9IG5ldyBMYXlvdXRFZGl0b3IuRWRpdG9yKGVkaXRvci5jb25maWcsIGNhbnZhc0RhdGEpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHRlbXBsYXRlID0gXCI8b3JjLWxheW91dC1lZGl0b3JcIiArIFwiIG1vZGVsPSd3aW5kb3cubGF5b3V0RWRpdG9yJyAvPlwiO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGh0bWwgPSAkY29tcGlsZSh0ZW1wbGF0ZSkoJHNjb3BlKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICQoXCIubGF5b3V0LWVkaXRvci1ob2xkZXJcIikuaHRtbChodG1sKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAkc2NvcGUuJHJvb3QuZWRpdEVsZW1lbnQgPSBmdW5jdGlvbiAoZWxlbWVudCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGhvc3QgPSAkc2NvcGUuJHJvb3QubGF5b3V0RGVzaWduZXJIb3N0O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGhvc3QuZWRpdEVsZW1lbnQoZWxlbWVudCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH07XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAkc2NvcGUuJHJvb3QuYWRkRWxlbWVudCA9IGZ1bmN0aW9uIChjb250ZW50VHlwZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGhvc3QgPSAkc2NvcGUuJHJvb3QubGF5b3V0RGVzaWduZXJIb3N0O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGhvc3QuYWRkRWxlbWVudChjb250ZW50VHlwZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH07XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAkKGRvY3VtZW50KS5vbihcImN1dCBjb3B5IHBhc3RlXCIsIGZ1bmN0aW9uIChlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBJZiB0aGUgcHNldWRvIGNsaXBib2FyZCB3YXMgYWxyZWFkeSBpbnZva2VkICh3aGljaCBoYXBwZW5zIG9uIHRoZSBmaXJzdCBjbGlwYm9hcmRcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIG9wZXJhdGlvbiBhZnRlciBwYWdlIGxvYWQgZXZlbiBpZiBuYXRpdmUgY2xpcGJvYXJkIHN1cHBvcnQgZXhpc3RzKSB0aGVuIHNpdCB0aGlzXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBvbmUgb3BlcmF0aW9uIG91dCwgYnV0IG1ha2Ugc3VyZSB3aGF0ZXZlciBpcyBvbiB0aGUgcHNldWRvIGNsaXBib2FyZCBnZXRzIG1pZ3JhdGVkXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyB0byB0aGUgbmF0aXZlIGNsaXBib2FyZCBmb3Igc3Vic2VxdWVudCBvcGVyYXRpb25zLlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGNsaXBib2FyZC53YXNJbnZva2VkKCkpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlLm9yaWdpbmFsRXZlbnQuY2xpcGJvYXJkRGF0YS5zZXREYXRhKFwidGV4dC9wbGFpblwiLCBjbGlwYm9hcmQuZ2V0RGF0YShcInRleHQvcGxhaW5cIikpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGUub3JpZ2luYWxFdmVudC5jbGlwYm9hcmREYXRhLnNldERhdGEoXCJ0ZXh0L2pzb25cIiwgY2xpcGJvYXJkLmdldERhdGEoXCJ0ZXh0L2pzb25cIikpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBmb2N1c2VkRWxlbWVudCA9ICRzY29wZS5lbGVtZW50LmZvY3VzZWRFbGVtZW50O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghIWZvY3VzZWRFbGVtZW50KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRzY29wZS4kYXBwbHkoZnVuY3Rpb24gKCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3dpdGNoIChlLnR5cGUpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlIFwiY29weVwiOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb2N1c2VkRWxlbWVudC5jb3B5KGUub3JpZ2luYWxFdmVudC5jbGlwYm9hcmREYXRhKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSBcImN1dFwiOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb2N1c2VkRWxlbWVudC5jdXQoZS5vcmlnaW5hbEV2ZW50LmNsaXBib2FyZERhdGEpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlIFwicGFzdGVcIjpcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9jdXNlZEVsZW1lbnQucGFzdGUoZS5vcmlnaW5hbEV2ZW50LmNsaXBib2FyZERhdGEpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkLmV2ZW50LnRyaWdnZXIoe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogXCJsYXlvdXRlZGl0b3I6ZWRpdGVkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEhBQ0s6IFdvcmthcm91bmQgYmVjYXVzZSBvZiBob3cgQW5ndWxhciB0cmVhdHMgdGhlIERPTSB3aGVuIGVsZW1lbnRzIGFyZSBzaGlmdGVkIGFyb3VuZCAtIGlucHV0IGZvY3VzIGlzIHNvbWV0aW1lcyBsb3N0LlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aW5kb3cuc2V0VGltZW91dChmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkc2NvcGUuJGFwcGx5KGZ1bmN0aW9uICgpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoISEkc2NvcGUuZWxlbWVudC5mb2N1c2VkRWxlbWVudClcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHNjb3BlLmVsZW1lbnQuZm9jdXNlZEVsZW1lbnQuc2V0SXNGb2N1c2VkKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgMTAwKTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gTmF0aXZlIGNsaXBib2FyZCBzdXBwb3J0IG9idmlvdXNseSBleGlzdHMsIHNvIGRpc2FibGUgdGhlIHBldWRvIGNsaXBib2FyZCBmcm9tIG5vdyBvbi5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsaXBib2FyZC5kaXNhYmxlKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIF0sXHJcbiAgICAgICAgICAgICAgICB0ZW1wbGF0ZVVybDogZW52aXJvbm1lbnQudGVtcGxhdGVVcmwoXCJFZGl0b3JcIiksXHJcbiAgICAgICAgICAgICAgICByZXBsYWNlOiB0cnVlLFxyXG4gICAgICAgICAgICAgICAgbGluazogZnVuY3Rpb24gKHNjb3BlLCBlbGVtZW50KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gTm8gY2xpY2tzIHNob3VsZCBwcm9wYWdhdGUgZnJvbSB0aGUgVGlueU1DRSB0b29sYmFycy5cclxuICAgICAgICAgICAgICAgICAgICBlbGVtZW50LmZpbmQoXCIubGF5b3V0LXRvb2xiYXItY29udGFpbmVyXCIpLmNsaWNrKGZ1bmN0aW9uIChlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gVW5mb2N1cyBhbmQgdW5zZWxlY3QgZXZlcnl0aGluZyBvbiBjbGljayBvdXRzaWRlIG9mIGNhbnZhcy5cclxuICAgICAgICAgICAgICAgICAgICAkKHdpbmRvdykuY2xpY2soZnVuY3Rpb24gKGUpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgc2NvcGUuJGFwcGx5KGZ1bmN0aW9uICgpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlLmVsZW1lbnQuYWN0aXZlRWxlbWVudCA9IG51bGw7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzY29wZS5lbGVtZW50LmZvY3VzZWRFbGVtZW50ID0gbnVsbDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgfVxyXG4gICAgXSk7IiwiYW5ndWxhclxyXG4gICAgLm1vZHVsZShcIkxheW91dEVkaXRvclwiKVxyXG4gICAgLmRpcmVjdGl2ZShcIm9yY0xheW91dENhbnZhc1wiLCBbXCJzY29wZUNvbmZpZ3VyYXRvclwiLCBcImVudmlyb25tZW50XCIsXHJcbiAgICAgICAgZnVuY3Rpb24gKHNjb3BlQ29uZmlndXJhdG9yLCBlbnZpcm9ubWVudCkge1xyXG4gICAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAgICAgcmVzdHJpY3Q6IFwiRVwiLFxyXG4gICAgICAgICAgICAgICAgc2NvcGU6IHsgZWxlbWVudDogXCI9XCIgfSxcclxuICAgICAgICAgICAgICAgIGNvbnRyb2xsZXI6IFtcIiRzY29wZVwiLCBcIiRlbGVtZW50XCIsIFwiJGF0dHJzXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gKCRzY29wZSwgJGVsZW1lbnQsICRhdHRycykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBzY29wZUNvbmZpZ3VyYXRvci5jb25maWd1cmVGb3JFbGVtZW50KCRzY29wZSwgJGVsZW1lbnQpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBzY29wZUNvbmZpZ3VyYXRvci5jb25maWd1cmVGb3JDb250YWluZXIoJHNjb3BlLCAkZWxlbWVudCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICRzY29wZS5zb3J0YWJsZU9wdGlvbnNbXCJheGlzXCJdID0gXCJ5XCI7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgXSxcclxuICAgICAgICAgICAgICAgIHRlbXBsYXRlVXJsOiBlbnZpcm9ubWVudC50ZW1wbGF0ZVVybChcIkNhbnZhc1wiKSxcclxuICAgICAgICAgICAgICAgIHJlcGxhY2U6IHRydWVcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICB9XHJcbiAgICBdKTsiLCJhbmd1bGFyXHJcbiAgICAubW9kdWxlKFwiTGF5b3V0RWRpdG9yXCIpXHJcbiAgICAuZGlyZWN0aXZlKFwib3JjTGF5b3V0Q2hpbGRcIiwgW1wiJGNvbXBpbGVcIixcclxuICAgICAgICBmdW5jdGlvbiAoJGNvbXBpbGUpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgICAgIHJlc3RyaWN0OiBcIkVcIixcclxuICAgICAgICAgICAgICAgIHNjb3BlOiB7IGVsZW1lbnQ6IFwiPVwiIH0sXHJcbiAgICAgICAgICAgICAgICBsaW5rOiBmdW5jdGlvbiAoc2NvcGUsIGVsZW1lbnQpIHtcclxuICAgICAgICAgICAgICAgICAgICB2YXIgdGVtcGxhdGUgPSBcIjxvcmMtbGF5b3V0LVwiICsgc2NvcGUuZWxlbWVudC50eXBlLnRvTG93ZXJDYXNlKCkgKyBcIiBlbGVtZW50PSdlbGVtZW50JyAvPlwiO1xyXG4gICAgICAgICAgICAgICAgICAgIHZhciBodG1sID0gJGNvbXBpbGUodGVtcGxhdGUpKHNjb3BlKTtcclxuICAgICAgICAgICAgICAgICAgICAkKGVsZW1lbnQpLnJlcGxhY2VXaXRoKGh0bWwpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgIH1cclxuICAgIF0pOyIsImFuZ3VsYXJcclxuICAgIC5tb2R1bGUoXCJMYXlvdXRFZGl0b3JcIilcclxuICAgIC5kaXJlY3RpdmUoXCJvcmNMYXlvdXRDb2x1bW5cIiwgW1wiJGNvbXBpbGVcIiwgXCJzY29wZUNvbmZpZ3VyYXRvclwiLCBcImVudmlyb25tZW50XCIsXHJcbiAgICAgICAgZnVuY3Rpb24gKCRjb21waWxlLCBzY29wZUNvbmZpZ3VyYXRvciwgZW52aXJvbm1lbnQpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgICAgIHJlc3RyaWN0OiBcIkVcIixcclxuICAgICAgICAgICAgICAgIHNjb3BlOiB7IGVsZW1lbnQ6IFwiPVwiIH0sXHJcbiAgICAgICAgICAgICAgICBjb250cm9sbGVyOiBbXCIkc2NvcGVcIiwgXCIkZWxlbWVudFwiLFxyXG4gICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uICgkc2NvcGUsICRlbGVtZW50KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ29uZmlndXJhdG9yLmNvbmZpZ3VyZUZvckVsZW1lbnQoJHNjb3BlLCAkZWxlbWVudCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ29uZmlndXJhdG9yLmNvbmZpZ3VyZUZvckNvbnRhaW5lcigkc2NvcGUsICRlbGVtZW50KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgJHNjb3BlLnNvcnRhYmxlT3B0aW9uc1tcImF4aXNcIl0gPSBcInlcIjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBdLFxyXG4gICAgICAgICAgICAgICAgdGVtcGxhdGVVcmw6IGVudmlyb25tZW50LnRlbXBsYXRlVXJsKFwiQ29sdW1uXCIpLFxyXG4gICAgICAgICAgICAgICAgcmVwbGFjZTogdHJ1ZSxcclxuICAgICAgICAgICAgICAgIGxpbms6IGZ1bmN0aW9uIChzY29wZSwgZWxlbWVudCwgYXR0cnMpIHtcclxuICAgICAgICAgICAgICAgICAgICBlbGVtZW50LmZpbmQoXCIubGF5b3V0LWNvbHVtbi1yZXNpemUtYmFyXCIpLmRyYWdnYWJsZSh7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGF4aXM6IFwieFwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBoZWxwZXI6IFwiY2xvbmVcIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmV2ZXJ0OiB0cnVlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBzdGFydDogZnVuY3Rpb24gKGUsIHVpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzY29wZS4kYXBwbHkoZnVuY3Rpb24gKCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlLmVsZW1lbnQuZWRpdG9yLmlzUmVzaXppbmcgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRyYWc6IGZ1bmN0aW9uIChlLCB1aSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGNvbHVtbkVsZW1lbnQgPSBlbGVtZW50LnBhcmVudCgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGNvbHVtblNpemUgPSBjb2x1bW5FbGVtZW50LndpZHRoKCkgLyBzY29wZS5lbGVtZW50LndpZHRoO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGNvbm5lY3RBZGphY2VudCA9ICFlLmN0cmxLZXk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoJChlLnRhcmdldCkuaGFzQ2xhc3MoXCJsYXlvdXQtY29sdW1uLXJlc2l6ZS1iYXItbGVmdFwiKSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBkZWx0YSA9IHVpLm9mZnNldC5sZWZ0IC0gY29sdW1uRWxlbWVudC5vZmZzZXQoKS5sZWZ0O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChkZWx0YSA8IC1jb2x1bW5TaXplICYmIHNjb3BlLmVsZW1lbnQuY2FuRXhwYW5kTGVmdChjb25uZWN0QWRqYWNlbnQpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlLiRhcHBseShmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzY29wZS5lbGVtZW50LmV4cGFuZExlZnQoY29ubmVjdEFkamFjZW50KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKGRlbHRhID4gY29sdW1uU2l6ZSAmJiBzY29wZS5lbGVtZW50LmNhbkNvbnRyYWN0TGVmdChjb25uZWN0QWRqYWNlbnQpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlLiRhcHBseShmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzY29wZS5lbGVtZW50LmNvbnRyYWN0TGVmdChjb25uZWN0QWRqYWNlbnQpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlIGlmICgkKGUudGFyZ2V0KS5oYXNDbGFzcyhcImxheW91dC1jb2x1bW4tcmVzaXplLWJhci1yaWdodFwiKSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBkZWx0YSA9IHVpLm9mZnNldC5sZWZ0IC0gY29sdW1uRWxlbWVudC53aWR0aCgpIC0gY29sdW1uRWxlbWVudC5vZmZzZXQoKS5sZWZ0O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChkZWx0YSA+IGNvbHVtblNpemUgJiYgc2NvcGUuZWxlbWVudC5jYW5FeHBhbmRSaWdodChjb25uZWN0QWRqYWNlbnQpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlLiRhcHBseShmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzY29wZS5lbGVtZW50LmV4cGFuZFJpZ2h0KGNvbm5lY3RBZGphY2VudCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlIGlmIChkZWx0YSA8IC1jb2x1bW5TaXplICYmIHNjb3BlLmVsZW1lbnQuY2FuQ29udHJhY3RSaWdodChjb25uZWN0QWRqYWNlbnQpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlLiRhcHBseShmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzY29wZS5lbGVtZW50LmNvbnRyYWN0UmlnaHQoY29ubmVjdEFkamFjZW50KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgc3RvcDogZnVuY3Rpb24gKGUsIHVpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzY29wZS4kYXBwbHkoZnVuY3Rpb24gKCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzY29wZS5lbGVtZW50LmVkaXRvci5pc1Jlc2l6aW5nID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgIH1cclxuICAgIF0pOyIsImFuZ3VsYXJcclxuICAgIC5tb2R1bGUoXCJMYXlvdXRFZGl0b3JcIilcclxuICAgIC5kaXJlY3RpdmUoXCJvcmNMYXlvdXRDb250ZW50XCIsIFtcIiRzY2VcIiwgXCJzY29wZUNvbmZpZ3VyYXRvclwiLCBcImVudmlyb25tZW50XCIsXHJcbiAgICAgICAgZnVuY3Rpb24gKCRzY2UsIHNjb3BlQ29uZmlndXJhdG9yLCBlbnZpcm9ubWVudCkge1xyXG4gICAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAgICAgcmVzdHJpY3Q6IFwiRVwiLFxyXG4gICAgICAgICAgICAgICAgc2NvcGU6IHsgZWxlbWVudDogXCI9XCIgfSxcclxuICAgICAgICAgICAgICAgIGNvbnRyb2xsZXI6IFtcIiRzY29wZVwiLCBcIiRlbGVtZW50XCIsXHJcbiAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gKCRzY29wZSwgJGVsZW1lbnQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgc2NvcGVDb25maWd1cmF0b3IuY29uZmlndXJlRm9yRWxlbWVudCgkc2NvcGUsICRlbGVtZW50KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIE92ZXJ3cml0ZSB0aGUgc2V0SHRtbCBmdW5jdGlvbiBzbyB0aGF0IHdlIGNhbiB1c2UgdGhlICRzY2Ugc2VydmljZSB0byB0cnVzdCB0aGUgaHRtbCAoYW5kIG5vdCBoYXZlIHRoZSBodG1sIGJpbmRpbmcgc3RyaXAgY2VydGFpbiB0YWdzKS5cclxuICAgICAgICAgICAgICAgICAgICAgICAgJHNjb3BlLmVsZW1lbnQuc2V0SHRtbCA9IGZ1bmN0aW9uIChodG1sKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkc2NvcGUuZWxlbWVudC5odG1sID0gaHRtbDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICRzY29wZS5lbGVtZW50Lmh0bWxVbnNhZmUgPSAkc2NlLnRydXN0QXNIdG1sKGh0bWwpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9O1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgJHNjb3BlLmVsZW1lbnQuc2V0SHRtbCgkc2NvcGUuZWxlbWVudC5odG1sKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBdLFxyXG4gICAgICAgICAgICAgICAgdGVtcGxhdGVVcmw6IGVudmlyb25tZW50LnRlbXBsYXRlVXJsKFwiQ29udGVudFwiKSxcclxuICAgICAgICAgICAgICAgIHJlcGxhY2U6IHRydWVcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICB9XHJcbiAgICBdKTsiLCJhbmd1bGFyXHJcbiAgICAubW9kdWxlKFwiTGF5b3V0RWRpdG9yXCIpXHJcbiAgICAuZGlyZWN0aXZlKFwib3JjTGF5b3V0R3JpZFwiLCBbXCIkY29tcGlsZVwiLCBcInNjb3BlQ29uZmlndXJhdG9yXCIsIFwiZW52aXJvbm1lbnRcIixcclxuICAgICAgICBmdW5jdGlvbiAoJGNvbXBpbGUsIHNjb3BlQ29uZmlndXJhdG9yLCBlbnZpcm9ubWVudCkge1xyXG4gICAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAgICAgcmVzdHJpY3Q6IFwiRVwiLFxyXG4gICAgICAgICAgICAgICAgc2NvcGU6IHsgZWxlbWVudDogXCI9XCIgfSxcclxuICAgICAgICAgICAgICAgIGNvbnRyb2xsZXI6IFtcIiRzY29wZVwiLCBcIiRlbGVtZW50XCIsXHJcbiAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gKCRzY29wZSwgJGVsZW1lbnQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgc2NvcGVDb25maWd1cmF0b3IuY29uZmlndXJlRm9yRWxlbWVudCgkc2NvcGUsICRlbGVtZW50KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgc2NvcGVDb25maWd1cmF0b3IuY29uZmlndXJlRm9yQ29udGFpbmVyKCRzY29wZSwgJGVsZW1lbnQpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAkc2NvcGUuc29ydGFibGVPcHRpb25zW1wiYXhpc1wiXSA9IFwieVwiO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIF0sXHJcbiAgICAgICAgICAgICAgICB0ZW1wbGF0ZVVybDogZW52aXJvbm1lbnQudGVtcGxhdGVVcmwoXCJHcmlkXCIpLFxyXG4gICAgICAgICAgICAgICAgcmVwbGFjZTogdHJ1ZVxyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgIH1cclxuICAgIF0pOyIsImFuZ3VsYXJcclxuICAgIC5tb2R1bGUoXCJMYXlvdXRFZGl0b3JcIilcclxuICAgIC5kaXJlY3RpdmUoXCJvcmNMYXlvdXRSb3dcIiwgW1wiJGNvbXBpbGVcIiwgXCJzY29wZUNvbmZpZ3VyYXRvclwiLCBcImVudmlyb25tZW50XCIsXHJcbiAgICAgICAgZnVuY3Rpb24gKCRjb21waWxlLCBzY29wZUNvbmZpZ3VyYXRvciwgZW52aXJvbm1lbnQpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgICAgIHJlc3RyaWN0OiBcIkVcIixcclxuICAgICAgICAgICAgICAgIHNjb3BlOiB7IGVsZW1lbnQ6IFwiPVwiIH0sXHJcbiAgICAgICAgICAgICAgICBjb250cm9sbGVyOiBbXCIkc2NvcGVcIiwgXCIkZWxlbWVudFwiLFxyXG4gICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uICgkc2NvcGUsICRlbGVtZW50KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ29uZmlndXJhdG9yLmNvbmZpZ3VyZUZvckVsZW1lbnQoJHNjb3BlLCAkZWxlbWVudCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlQ29uZmlndXJhdG9yLmNvbmZpZ3VyZUZvckNvbnRhaW5lcigkc2NvcGUsICRlbGVtZW50KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgJHNjb3BlLnNvcnRhYmxlT3B0aW9uc1tcImF4aXNcIl0gPSBcInhcIjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgJHNjb3BlLnNvcnRhYmxlT3B0aW9uc1tcInVpLWZsb2F0aW5nXCJdID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBdLFxyXG4gICAgICAgICAgICAgICAgdGVtcGxhdGVVcmw6IGVudmlyb25tZW50LnRlbXBsYXRlVXJsKFwiUm93XCIpLFxyXG4gICAgICAgICAgICAgICAgcmVwbGFjZTogdHJ1ZVxyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgIH1cclxuICAgIF0pOyIsImFuZ3VsYXJcclxuICAgIC5tb2R1bGUoXCJMYXlvdXRFZGl0b3JcIilcclxuICAgIC5kaXJlY3RpdmUoXCJvcmNMYXlvdXRQb3B1cFwiLCBbXHJcbiAgICAgICAgZnVuY3Rpb24gKCkge1xyXG4gICAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAgICAgcmVzdHJpY3Q6IFwiQVwiLFxyXG4gICAgICAgICAgICAgICAgbGluazogZnVuY3Rpb24gKHNjb3BlLCBlbGVtZW50LCBhdHRycykge1xyXG4gICAgICAgICAgICAgICAgICAgIHZhciBwb3B1cCA9ICQoZWxlbWVudCk7XHJcbiAgICAgICAgICAgICAgICAgICAgdmFyIHRyaWdnZXIgPSBwb3B1cC5jbG9zZXN0KFwiLmxheW91dC1wb3B1cC10cmlnZ2VyXCIpO1xyXG4gICAgICAgICAgICAgICAgICAgIHZhciBwYXJlbnRFbGVtZW50ID0gcG9wdXAuY2xvc2VzdChcIi5sYXlvdXQtZWxlbWVudFwiKTtcclxuICAgICAgICAgICAgICAgICAgICB0cmlnZ2VyLmNsaWNrKGZ1bmN0aW9uICgpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcG9wdXAudG9nZ2xlKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChwb3B1cC5pcyhcIjp2aXNpYmxlXCIpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3B1cC5wb3NpdGlvbih7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXk6IGF0dHJzLm9yY0xheW91dFBvcHVwTXkgfHwgXCJsZWZ0IHRvcFwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF0OiBhdHRycy5vcmNMYXlvdXRQb3B1cEF0IHx8IFwibGVmdCBib3R0b20rNHB4XCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2Y6IHRyaWdnZXJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9wdXAuZmluZChcImlucHV0XCIpLmZpcnN0KCkuZm9jdXMoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgIHBvcHVwLmNsaWNrKGZ1bmN0aW9uIChlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFyZW50RWxlbWVudC5jbGljayhmdW5jdGlvbiAoZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwb3B1cC5oaWRlKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9wdXAua2V5ZG93bihmdW5jdGlvbiAoZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWUuY3RybEtleSAmJiAhZS5zaGlmdEtleSAmJiAhZS5hbHRLZXkgJiYgZS53aGljaCA9PSAyNykgLy8gRXNjXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3B1cC5oaWRlKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9wdXAub24oXCJjdXQgY29weSBwYXN0ZVwiLCBmdW5jdGlvbiAoZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBBbGxvdyBjbGlwYm9hcmQgb3BlcmF0aW9ucyBpbiBwb3B1cCB3aXRob3V0IGludm9raW5nIGNsaXBib2FyZCBldmVudCBoYW5kbGVycyBvbiBwYXJlbnQgZWxlbWVudC5cclxuICAgICAgICAgICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfTtcclxuICAgICAgICB9XHJcbiAgICBdKTsiLCJhbmd1bGFyXHJcbiAgICAubW9kdWxlKFwiTGF5b3V0RWRpdG9yXCIpXHJcbiAgICAuZGlyZWN0aXZlKFwib3JjTGF5b3V0VG9vbGJveFwiLCBbXCIkY29tcGlsZVwiLCBcImVudmlyb25tZW50XCIsXHJcbiAgICAgICAgZnVuY3Rpb24gKCRjb21waWxlLCBlbnZpcm9ubWVudCkge1xyXG4gICAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAgICAgcmVzdHJpY3Q6IFwiRVwiLFxyXG4gICAgICAgICAgICAgICAgY29udHJvbGxlcjogW1wiJHNjb3BlXCIsIFwiJGVsZW1lbnRcIixcclxuICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbiAoJHNjb3BlLCAkZWxlbWVudCkge1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgJHNjb3BlLnJlc2V0RWxlbWVudHMgPSBmdW5jdGlvbiAoKSB7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJHNjb3BlLmdyaWRFbGVtZW50cyA9IFtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMYXlvdXRFZGl0b3IuR3JpZC5mcm9tKHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9vbGJveEljb246IFwiXFx1ZjAwYVwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b29sYm94TGFiZWw6IFwiR3JpZFwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b29sYm94RGVzY3JpcHRpb246IFwiRW1wdHkgZ3JpZC5cIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW46IFtdXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIF07XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJHNjb3BlLnJvd0VsZW1lbnRzID0gW1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExheW91dEVkaXRvci5Sb3cuZnJvbSh7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvb2xib3hJY29uOiBcIlxcdWYwYzlcIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9vbGJveExhYmVsOiBcIlJvdyAoMSBjb2x1bW4pXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvb2xib3hEZXNjcmlwdGlvbjogXCJSb3cgd2l0aCAxIGNvbHVtbi5cIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW46IExheW91dEVkaXRvci5Db2x1bW4udGltZXMoMSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMYXlvdXRFZGl0b3IuUm93LmZyb20oe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b29sYm94SWNvbjogXCJcXHVmMGM5XCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvb2xib3hMYWJlbDogXCJSb3cgKDIgY29sdW1ucylcIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9vbGJveERlc2NyaXB0aW9uOiBcIlJvdyB3aXRoIDIgY29sdW1ucy5cIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW46IExheW91dEVkaXRvci5Db2x1bW4udGltZXMoMilcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMYXlvdXRFZGl0b3IuUm93LmZyb20oe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b29sYm94SWNvbjogXCJcXHVmMGM5XCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvb2xib3hMYWJlbDogXCJSb3cgKDMgY29sdW1ucylcIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9vbGJveERlc2NyaXB0aW9uOiBcIlJvdyB3aXRoIDMgY29sdW1ucy5cIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW46IExheW91dEVkaXRvci5Db2x1bW4udGltZXMoMylcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMYXlvdXRFZGl0b3IuUm93LmZyb20oe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b29sYm94SWNvbjogXCJcXHVmMGM5XCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvb2xib3hMYWJlbDogXCJSb3cgKDQgY29sdW1ucylcIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9vbGJveERlc2NyaXB0aW9uOiBcIlJvdyB3aXRoIDQgY29sdW1ucy5cIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW46IExheW91dEVkaXRvci5Db2x1bW4udGltZXMoNClcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMYXlvdXRFZGl0b3IuUm93LmZyb20oe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b29sYm94SWNvbjogXCJcXHVmMGM5XCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvb2xib3hMYWJlbDogXCJSb3cgKDYgY29sdW1ucylcIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9vbGJveERlc2NyaXB0aW9uOiBcIlJvdyB3aXRoIDYgY29sdW1ucy5cIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW46IExheW91dEVkaXRvci5Db2x1bW4udGltZXMoNilcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMYXlvdXRFZGl0b3IuUm93LmZyb20oe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b29sYm94SWNvbjogXCJcXHVmMGM5XCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvb2xib3hMYWJlbDogXCJSb3cgKDEyIGNvbHVtbnMpXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvb2xib3hEZXNjcmlwdGlvbjogXCJSb3cgd2l0aCAxMiBjb2x1bW5zLlwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbjogTGF5b3V0RWRpdG9yLkNvbHVtbi50aW1lcygxMilcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSwgTGF5b3V0RWRpdG9yLlJvdy5mcm9tKHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9vbGJveEljb246IFwiXFx1ZjBjOVwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b29sYm94TGFiZWw6IFwiUm93IChlbXB0eSlcIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9vbGJveERlc2NyaXB0aW9uOiBcIkVtcHR5IHJvdy5cIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW46IFtdXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIF07XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJHNjb3BlLmNvbHVtbkVsZW1lbnRzID0gW1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExheW91dEVkaXRvci5Db2x1bW4uZnJvbSh7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvb2xib3hJY29uOiBcIlxcdWYwZGJcIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9vbGJveExhYmVsOiBcIkNvbHVtblwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b29sYm94RGVzY3JpcHRpb246IFwiRW1wdHkgY29sdW1uLlwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2Zmc2V0OiAwLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbjogW11cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkc2NvcGUuY2FudmFzRWxlbWVudHMgPSBbXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGF5b3V0RWRpdG9yLkNhbnZhcy5mcm9tKHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9vbGJveEljb246IFwiXFx1ZjA0NFwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b29sYm94TGFiZWw6IFwiQ2FudmFzXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvb2xib3hEZXNjcmlwdGlvbjogXCJFbXB0eSBjYW52YXMuXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoaWxkcmVuOiBbXVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBdO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICRzY29wZS5jb250ZW50RWxlbWVudENhdGVnb3JpZXMgPSBfKCRzY29wZS5lbGVtZW50LmNvbmZpZy5jYXRlZ29yaWVzKS5tYXAoZnVuY3Rpb24gKGNhdGVnb3J5KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogY2F0ZWdvcnkubmFtZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxlbWVudHM6IF8oY2F0ZWdvcnkuY29udGVudFR5cGVzKS5tYXAoZnVuY3Rpb24gKGNvbnRlbnRUeXBlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgdHlwZSA9IGNvbnRlbnRUeXBlLnR5cGU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgZmFjdG9yeSA9IExheW91dEVkaXRvci5mYWN0b3JpZXNbdHlwZV0gfHwgTGF5b3V0RWRpdG9yLmZhY3Rvcmllc1tcIkNvbnRlbnRcIl07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgaXRlbSA9IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc1RlbXBsYXRlZDogZmFsc2UsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudFR5cGU6IGNvbnRlbnRUeXBlLmlkLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnRUeXBlTGFiZWw6IGNvbnRlbnRUeXBlLmxhYmVsLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnRUeXBlQ2xhc3M6IGNvbnRlbnRUeXBlLnR5cGVDbGFzcyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhOiBudWxsLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhc0VkaXRvcjogY29udGVudFR5cGUuaGFzRWRpdG9yLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGh0bWw6IGNvbnRlbnRUeXBlLmh0bWxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgZWxlbWVudCA9IGZhY3RvcnkoaXRlbSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbGVtZW50LnRvb2xib3hJY29uID0gY29udGVudFR5cGUuaWNvbiB8fCBcIlxcdWYxYzlcIjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnQudG9vbGJveExhYmVsID0gY29udGVudFR5cGUubGFiZWw7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbGVtZW50LnRvb2xib3hEZXNjcmlwdGlvbiA9IGNvbnRlbnRUeXBlLmRlc2NyaXB0aW9uO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGVsZW1lbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgfTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICRzY29wZS5yZXNldEVsZW1lbnRzKCk7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAkc2NvcGUuZ2V0U29ydGFibGVPcHRpb25zID0gZnVuY3Rpb24gKHR5cGUpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBlZGl0b3JJZCA9ICRlbGVtZW50LmNsb3Nlc3QoXCIubGF5b3V0LWVkaXRvclwiKS5hdHRyKFwiaWRcIik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgcGFyZW50Q2xhc3NlcztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBwbGFjZWhvbGRlckNsYXNzZXM7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgZmxvYXRpbmcgPSBmYWxzZTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKHR5cGUpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlIFwiR3JpZFwiOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJlbnRDbGFzc2VzID0gW1wiLmxheW91dC1jYW52YXNcIiwgXCIubGF5b3V0LWNvbHVtblwiLCBcIi5sYXlvdXQtY29tbW9uLWhvbGRlclwiXTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXJDbGFzc2VzID0gXCJsYXlvdXQtZWxlbWVudCBsYXlvdXQtY29udGFpbmVyIGxheW91dC1ncmlkIHVpLXNvcnRhYmxlLXBsYWNlaG9sZGVyXCI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgXCJSb3dcIjpcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyZW50Q2xhc3NlcyA9IFtcIi5sYXlvdXQtZ3JpZFwiXTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXJDbGFzc2VzID0gXCJsYXlvdXQtZWxlbWVudCBsYXlvdXQtY29udGFpbmVyIGxheW91dC1yb3cgcm93IHVpLXNvcnRhYmxlLXBsYWNlaG9sZGVyXCI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgXCJDb2x1bW5cIjpcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyZW50Q2xhc3NlcyA9IFtcIi5sYXlvdXQtcm93Om5vdCgubGF5b3V0LXJvdy1mdWxsKVwiXTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXJDbGFzc2VzID0gXCJsYXlvdXQtZWxlbWVudCBsYXlvdXQtY29udGFpbmVyIGxheW91dC1jb2x1bW4gdWktc29ydGFibGUtcGxhY2Vob2xkZXJcIjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxvYXRpbmcgPSB0cnVlOyAvLyBUbyBlbnN1cmUgYSBzbW9vdGggaG9yaXpvbnRhbC1saXN0IHJlb3JkZXJpbmcuIGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyLXVpL3VpLXNvcnRhYmxlI2Zsb2F0aW5nXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgXCJDb250ZW50XCI6XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcmVudENsYXNzZXMgPSBbXCIubGF5b3V0LWNhbnZhc1wiLCBcIi5sYXlvdXQtY29sdW1uXCIsIFwiLmxheW91dC1jb21tb24taG9sZGVyXCJdO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlckNsYXNzZXMgPSBcImxheW91dC1lbGVtZW50IGxheW91dC1jb250ZW50IHVpLXNvcnRhYmxlLXBsYWNlaG9sZGVyXCI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgXCJDYW52YXNcIjpcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyZW50Q2xhc3NlcyA9IFtcIi5sYXlvdXQtY2FudmFzXCIsIFwiLmxheW91dC1jb2x1bW5cIiwgXCIubGF5b3V0LWNvbW1vbi1ob2xkZXJcIl07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyQ2xhc3NlcyA9IFwibGF5b3V0LWVsZW1lbnQgbGF5b3V0LWNvbnRhaW5lciBsYXlvdXQtZ3JpZCB1aS1zb3J0YWJsZS1wbGFjZWhvbGRlclwiO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1cnNvcjogXCJtb3ZlXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29ubmVjdFdpdGg6IF8ocGFyZW50Q2xhc3NlcykubWFwKGZ1bmN0aW9uIChlKSB7IHJldHVybiBcIiNcIiArIGVkaXRvcklkICsgXCIgXCIgKyBlICsgXCI6bm90KC5sYXlvdXQtY29udGFpbmVyLXNlYWxlZCkgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciA+IC5sYXlvdXQtY2hpbGRyZW5cIjsgfSkuam9pbihcIiwgXCIpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyOiBwbGFjZWhvbGRlckNsYXNzZXMsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJ1aS1mbG9hdGluZ1wiOiBmbG9hdGluZyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWxwZXI6IFwiY2xvbmVcIiwgLy8gV2UgY2xvbmUgdGhlIGVsZW1lbnQgYW5kIHdlIGFwcGVuZCBpdCB0byB0aGUgYm9keSBiZWNhdXNlIHRoZSBjb250YWluZXIgb3ZlcmZsb3cgaXMgc2V0IHRvIGF1dG8gKHNlZTogQXNzZXRzXFxMZXNzXFxMYXlvdXRFZGl0b3JcXFRvb2xib3gubGVzcykgYW5kIG90aGVyd2lzZSBpdCBjb3VsZCBub3QgYmUgbW92ZWQgd2l0aCBkcmFnJmRyb3BcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcHBlbmRUbzogXCJib2R5XCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3JlYXRlOiBmdW5jdGlvbiAoZSwgdWkpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZS50YXJnZXQuaXNUb29sYm94ID0gdHJ1ZTsgLy8gV2lsbCBpbmRpY2F0ZSB0byBjb25uZWN0ZWQgc29ydGFibGVzIHRoYXQgZHJvcHBlZCBpdGVtcyB3ZXJlIHNlbnQgZnJvbSB0b29sYm94LlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhcnQ6IGZ1bmN0aW9uIChlLCB1aSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkc2NvcGUuJGFwcGx5KGZ1bmN0aW9uICgpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRzY29wZS5lbGVtZW50LmlzRHJhZ2dpbmcgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0b3A6IGZ1bmN0aW9uIChlLCB1aSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkc2NvcGUuJGFwcGx5KGZ1bmN0aW9uICgpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRzY29wZS5lbGVtZW50LmlzRHJhZ2dpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRzY29wZS5yZXNldEVsZW1lbnRzKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3ZlcjogZnVuY3Rpb24gKGUsIHVpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRzY29wZS4kYXBwbHkoZnVuY3Rpb24gKCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHNjb3BlLmVsZW1lbnQuY2FudmFzLnNldElzRHJvcFRhcmdldChmYWxzZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH07XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgbGF5b3V0SXNDb2xsYXBzZWRDb29raWVOYW1lID0gXCJsYXlvdXRUb29sYm94Q2F0ZWdvcnlfTGF5b3V0X0lzQ29sbGFwc2VkXCI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICRzY29wZS5sYXlvdXRJc0NvbGxhcHNlZCA9ICQuY29va2llKGxheW91dElzQ29sbGFwc2VkQ29va2llTmFtZSkgPT09IFwidHJ1ZVwiO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgJHNjb3BlLnRvZ2dsZUxheW91dElzQ29sbGFwc2VkID0gZnVuY3Rpb24gKGUpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICRzY29wZS5sYXlvdXRJc0NvbGxhcHNlZCA9ICEkc2NvcGUubGF5b3V0SXNDb2xsYXBzZWQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkLmNvb2tpZShsYXlvdXRJc0NvbGxhcHNlZENvb2tpZU5hbWUsICRzY29wZS5sYXlvdXRJc0NvbGxhcHNlZCwgeyBleHBpcmVzOiAzNjUgfSk7IC8vIFJlbWVtYmVyIGNvbGxhcHNlZCBzdGF0ZSBmb3IgYSB5ZWFyLlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBdLFxyXG4gICAgICAgICAgICAgICAgdGVtcGxhdGVVcmw6IGVudmlyb25tZW50LnRlbXBsYXRlVXJsKFwiVG9vbGJveFwiKSxcclxuICAgICAgICAgICAgICAgIHJlcGxhY2U6IHRydWVcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICB9XHJcbiAgICBdKTsiLCJhbmd1bGFyXHJcbiAgICAubW9kdWxlKFwiTGF5b3V0RWRpdG9yXCIpXHJcbiAgICAuZGlyZWN0aXZlKFwib3JjTGF5b3V0VG9vbGJveEdyb3VwXCIsIFtcIiRjb21waWxlXCIsIFwiZW52aXJvbm1lbnRcIixcclxuICAgICAgICBmdW5jdGlvbiAoJGNvbXBpbGUsIGVudmlyb25tZW50KSB7XHJcbiAgICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgICAgICByZXN0cmljdDogXCJFXCIsXHJcbiAgICAgICAgICAgICAgICBzY29wZTogeyBjYXRlZ29yeTogXCI9XCIgfSxcclxuICAgICAgICAgICAgICAgIGNvbnRyb2xsZXI6IFtcIiRzY29wZVwiLCBcIiRlbGVtZW50XCIsXHJcbiAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gKCRzY29wZSwgJGVsZW1lbnQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGlzQ29sbGFwc2VkQ29va2llTmFtZSA9IFwibGF5b3V0VG9vbGJveENhdGVnb3J5X1wiICsgJHNjb3BlLmNhdGVnb3J5Lm5hbWUgKyBcIl9Jc0NvbGxhcHNlZFwiO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAkc2NvcGUuaXNDb2xsYXBzZWQgPSAkLmNvb2tpZShpc0NvbGxhcHNlZENvb2tpZU5hbWUpID09PSBcInRydWVcIjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgJHNjb3BlLnRvZ2dsZUlzQ29sbGFwc2VkID0gZnVuY3Rpb24gKGUpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICRzY29wZS5pc0NvbGxhcHNlZCA9ICEkc2NvcGUuaXNDb2xsYXBzZWQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkLmNvb2tpZShpc0NvbGxhcHNlZENvb2tpZU5hbWUsICRzY29wZS5pc0NvbGxhcHNlZCwgeyBleHBpcmVzOiAzNjUgfSk7IC8vIFJlbWVtYmVyIGNvbGxhcHNlZCBzdGF0ZSBmb3IgYSB5ZWFyLlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBdLFxyXG4gICAgICAgICAgICAgICAgdGVtcGxhdGVVcmw6IGVudmlyb25tZW50LnRlbXBsYXRlVXJsKFwiVG9vbGJveEdyb3VwXCIpLFxyXG4gICAgICAgICAgICAgICAgcmVwbGFjZTogdHJ1ZVxyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgIH1cclxuICAgIF0pOyJdfQ== diff --git a/src/Orchard.Web/Modules/Orchard.Layouts/Scripts/LayoutEditor.min.js b/src/Orchard.Web/Modules/Orchard.Layouts/Scripts/LayoutEditor.min.js index b420db8fd..ac56623a3 100644 --- a/src/Orchard.Web/Modules/Orchard.Layouts/Scripts/LayoutEditor.min.js +++ b/src/Orchard.Web/Modules/Orchard.Layouts/Scripts/LayoutEditor.min.js @@ -1 +1 @@ -angular.module("LayoutEditor",["ngSanitize","ngResource","ui.sortable"]);var LayoutEditor;!function(e){var t=function(){var e=this;this._clipboardData={},this._isDisabled=!1,this._wasInvoked=!1,this.setData=function(t,o){e._clipboardData[t]=o,e._wasInvoked=!0},this.getData=function(t){return e._wasInvoked=!0,e._clipboardData[t]},this.disable=function(){e._isDisabled=!0,e._wasInvoked=!1,e._clipboardData={}},this.isDisabled=function(){return e._isDisabled},this.wasInvoked=function(){return e._wasInvoked}};e.Clipboard=new t,angular.module("LayoutEditor").factory("clipboard",[function(){return{setData:e.Clipboard.setData,getData:e.Clipboard.getData,disable:e.Clipboard.disable,isDisabled:e.Clipboard.isDisabled,wasInvoked:e.Clipboard.wasInvoked}}])}(LayoutEditor||(LayoutEditor={})),angular.module("LayoutEditor").factory("scopeConfigurator",["$timeout","clipboard",function(e,t){return{configureForElement:function(e,o){o.find(".layout-panel").click(function(e){e.stopPropagation()}),o.parent().keydown(function(n){var l=!1,a=!1,r=e.element;if(!r.editor.isDragging){if(!t.isDisabled()){var i=r.editor.focusedElement;if(i&&n.ctrlKey)switch(n.which){case 67:i.copy(t);break;case 88:i.cut(t);break;case 86:i.paste(t)}}if(n.ctrlKey||n.shiftKey||n.altKey||46!=n.which?n.ctrlKey||n.shiftKey||n.altKey||32!=n.which&&27!=n.which||(o.find(".layout-panel-action-properties").first().click(),l=!0):(e.delete(r),l=!0),r.hasEditor&&(n.ctrlKey||n.shiftKey||n.altKey||13!=n.which||(o.find(".layout-panel-action-edit").first().click(),l=!0)),r.children&&(n.ctrlKey||n.shiftKey||!n.altKey||40!=n.which||(r.children.length>0&&r.children[0].setIsFocused(),l=!0),"Column"==r.type)){var c=!n.ctrlKey;37==n.which?(n.altKey&&r.expandLeft(c),n.shiftKey&&r.contractRight(c),l=!0):39==n.which&&(n.altKey&&r.contractLeft(c),n.shiftKey&&r.expandRight(c),l=!0)}r.parent&&(n.altKey&&38==n.which&&(r.parent.setIsFocused(),l=!0),"Row"==r.parent.type?n.ctrlKey||n.shiftKey||n.altKey||37!=n.which?n.ctrlKey||n.shiftKey||n.altKey||39!=n.which?!n.ctrlKey||n.shiftKey||n.altKey||37!=n.which?!n.ctrlKey||n.shiftKey||n.altKey||39!=n.which||(r.moveDown(),l=!0):(r.moveUp(),a=!0,l=!0):(r.parent.moveFocusNextChild(r),l=!0):(r.parent.moveFocusPrevChild(r),l=!0):n.ctrlKey||n.shiftKey||n.altKey||38!=n.which?n.ctrlKey||n.shiftKey||n.altKey||40!=n.which?!n.ctrlKey||n.shiftKey||n.altKey||38!=n.which?!n.ctrlKey||n.shiftKey||n.altKey||40!=n.which||(r.moveDown(),l=!0):(r.moveUp(),a=!0,l=!0):(r.parent.moveFocusNextChild(r),l=!0):(r.parent.moveFocusPrevChild(r),l=!0)),l&&n.preventDefault(),n.stopPropagation(),e.$apply(),a&&window.setTimeout(function(){e.$apply(function(){r.editor.focusedElement.setIsFocused()})},100)}}),e.element.setIsFocusedEventHandlers.push(function(){o.parent().focus()}),e.delete=function(e){e.delete(),$.event.trigger({type:"layouteditor:edited"})},e.element.hasEditor&&(e.edit=function(){e.$root.editElement(e.element).done(function(t){e.$apply(function(){t.cancel||(e.element.data=t.element.data,e.element.applyElementEditorModel(t.elementEditorModel),e.element.setHtml&&e.element.setHtml(t.element.html))})})})},configureForContainer:function(t,o){var n=t.element;t.getShowChildrenPlaceholder=function(){return 0===t.element.children.length&&!t.element.getIsDropTarget()},t.sortableOptions={cursor:"move",delay:150,disabled:n.getIsSealed(),distance:5,start:function(e,o){t.$apply(function(){n.setIsDropTarget(!0),n.editor.isDragging=!0}),o.placeholder.height(o.item.height()-4),o.placeholder.css("min-height",0)},stop:function(e,o){t.$apply(function(){n.editor.isDragging=!1,n.setIsDropTarget(!1)})},over:function(t,l){l.sender&&l.sender[0].isToolbox&&(l.sender[0].dropTargetTimeout&&(e.cancel(l.sender[0].dropTargetTimeout),l.sender[0].dropTargetTimeout=null),e(function(){if("Row"==n.type){var e=n.editor.dropTargetElement;e&&"Row"==e.type&&e.rollbackAddColumn()}n.setIsDropTarget(!1)}),l.sender[0].dropTargetTimeout=e(function(){if("Row"==n.type){var e=l.item.sortable.model,t=Math.floor(12/(n.children.length+1));e.width=t,e.offset=0,n.beginAddColumn(t);var a=_.max(_(o.find("> .layout-children > .layout-column:not(.ui-sortable-placeholder)")).map(function(e){return $(e).height()}));for(i=1;i<=12;i++)l.placeholder.removeClass("col-xs-"+i);l.placeholder.addClass("col-xs-"+e.width),a>0?(l.placeholder.height(a),l.placeholder.css("min-height",0)):(l.placeholder.height(0),l.placeholder.css("min-height",""))}n.setIsDropTarget(!0)},150))},receive:function(o,l){l.sender&&l.sender[0].isToolbox&&t.$apply(function(){var o=l.item.sortable.model;o&&("Row"==n.type&&n.commitAddColumn(),o.setEditor(n.editor),o.setParent(n),o.hasEditor&&t.$root.editElement(o).done(function(t){t.cancel||(o.data=t.element.data,o.applyElementEditorModel(t.elementEditorModel),o.setHtml&&o.setHtml(t.element.html)),e(function(){t.cancel?o.delete():o.setIsFocused(),n.setIsDropTarget(!1)})})),e(function(){n.setIsDropTarget(!1),o&&o.setIsFocused(),t.$root.addElement(o).done(function(){})})})}},t.click=function(e,t){e.editor.isDragging||e.setIsFocused(),t.stopPropagation()},t.getClasses=function(e){var t=["layout-element"];return e.children&&(t.push("layout-container"),e.getIsSealed()&&t.push("layout-container-sealed")),t.push("layout-"+e.type.toLowerCase()),e.dropTargetClass&&t.push(e.dropTargetClass),"Row"==e.type&&(t.push("row"),e.canAddColumn()||t.push("layout-row-full")),"Column"==e.type&&(t.push("col-xs-"+e.width),t.push("col-xs-offset-"+e.offset)),"Content"==e.type&&t.push("layout-content-"+e.contentTypeClass),e.getIsActive()&&t.push("layout-element-active"),e.getIsFocused()&&t.push("layout-element-focused"),e.getIsSelected()&&t.push("layout-element-selected"),e.getIsDropTarget()&&t.push("layout-element-droptarget"),e.isTemplated&&t.push("layout-element-templated"),t}}}}]),angular.module("LayoutEditor").directive("orcLayoutEditor",["environment",function(environment){return{restrict:"E",scope:{},controller:["$scope","$element","$attrs","$compile","clipboard",function($scope,$element,$attrs,$compile,clipboard){if(!$attrs.model)throw new Error("The 'model' attribute must evaluate to a LayoutEditor.Editor object.");$scope.element=eval($attrs.model),$scope.click=function(e,t){e.editor.isDragging||e.setIsFocused(),t.stopPropagation()},$scope.getClasses=function(e){var t=["layout-element","layout-container","layout-canvas"];return e.getIsActive()&&t.push("layout-element-active"),e.getIsFocused()&&t.push("layout-element-focused"),e.getIsSelected()&&t.push("layout-element-selected"),e.getIsDropTarget()&&t.push("layout-element-droptarget"),e.isTemplated&&t.push("layout-element-templated"),t};var layoutDesignerHost=$(".layout-designer").data("layout-designer-host");$scope.$root.layoutDesignerHost=layoutDesignerHost,layoutDesignerHost.element.on("replacecanvas",function(e,t){var o=$scope.element,n={data:t.canvas.data,htmlId:t.canvas.htmlId,htmlClass:t.canvas.htmlClass,htmlStyle:t.canvas.htmlStyle,isTemplated:t.canvas.isTemplated,children:t.canvas.children};layoutDesignerHost.editor=window.layoutEditor=new LayoutEditor.Editor(o.config,n);var l="",a=$compile(l)($scope);$(".layout-editor-holder").html(a)}),$scope.$root.editElement=function(e){var t=$scope.$root.layoutDesignerHost;return t.editElement(e)},$scope.$root.addElement=function(e){var t=$scope.$root.layoutDesignerHost;return t.addElement(e)},$(document).on("cut copy paste",function(e){if(clipboard.wasInvoked())e.originalEvent.clipboardData.setData("text/plain",clipboard.getData("text/plain")),e.originalEvent.clipboardData.setData("text/json",clipboard.getData("text/json")),e.preventDefault();else{var t=$scope.element.focusedElement;t&&($scope.$apply(function(){switch(e.type){case"copy":t.copy(e.originalEvent.clipboardData);break;case"cut":t.cut(e.originalEvent.clipboardData);break;case"paste":t.paste(e.originalEvent.clipboardData),$.event.trigger({type:"layouteditor:edited"})}}),window.setTimeout(function(){$scope.$apply(function(){$scope.element.focusedElement&&$scope.element.focusedElement.setIsFocused()})},100),e.preventDefault())}clipboard.disable()})}],templateUrl:environment.templateUrl("Editor"),replace:!0,link:function(e,t){t.find(".layout-toolbar-container").click(function(e){e.stopPropagation()}),$(window).click(function(t){e.$apply(function(){e.element.activeElement=null,e.element.focusedElement=null})})}}}]),angular.module("LayoutEditor").directive("orcLayoutCanvas",["scopeConfigurator","environment",function(e,t){return{restrict:"E",scope:{element:"="},controller:["$scope","$element","$attrs",function(t,o,n){e.configureForElement(t,o),e.configureForContainer(t,o),t.sortableOptions.axis="y"}],templateUrl:t.templateUrl("Canvas"),replace:!0}}]),angular.module("LayoutEditor").directive("orcLayoutChild",["$compile",function(e){return{restrict:"E",scope:{element:"="},link:function(t,o){var n="",l=e(n)(t);$(o).replaceWith(l)}}}]),angular.module("LayoutEditor").directive("orcLayoutColumn",["$compile","scopeConfigurator","environment",function(e,t,o){return{restrict:"E",scope:{element:"="},controller:["$scope","$element",function(e,o){t.configureForElement(e,o),t.configureForContainer(e,o),e.sortableOptions.axis="y"}],templateUrl:o.templateUrl("Column"),replace:!0,link:function(e,t,o){t.find(".layout-column-resize-bar").draggable({axis:"x",helper:"clone",revert:!0,start:function(t,o){e.$apply(function(){e.element.editor.isResizing=!0})},drag:function(o,n){var l=t.parent(),a=l.width()/e.element.width,r=!o.ctrlKey;if($(o.target).hasClass("layout-column-resize-bar-left")){var i=n.offset.left-l.offset().left;i<-a&&e.element.canExpandLeft(r)?e.$apply(function(){e.element.expandLeft(r)}):i>a&&e.element.canContractLeft(r)&&e.$apply(function(){e.element.contractLeft(r)})}else if($(o.target).hasClass("layout-column-resize-bar-right")){var i=n.offset.left-l.width()-l.offset().left;i>a&&e.element.canExpandRight(r)?e.$apply(function(){e.element.expandRight(r)}):i<-a&&e.element.canContractRight(r)&&e.$apply(function(){e.element.contractRight(r)})}},stop:function(t,o){e.$apply(function(){e.element.editor.isResizing=!1})}})}}}]),angular.module("LayoutEditor").directive("orcLayoutContent",["$sce","scopeConfigurator","environment",function(e,t,o){return{restrict:"E",scope:{element:"="},controller:["$scope","$element",function(o,n){t.configureForElement(o,n),o.element.setHtml=function(t){o.element.html=t,o.element.htmlUnsafe=e.trustAsHtml(t)},o.element.setHtml(o.element.html)}],templateUrl:o.templateUrl("Content"),replace:!0}}]),angular.module("LayoutEditor").directive("orcLayoutGrid",["$compile","scopeConfigurator","environment",function(e,t,o){return{restrict:"E",scope:{element:"="},controller:["$scope","$element",function(e,o){t.configureForElement(e,o),t.configureForContainer(e,o),e.sortableOptions.axis="y"}],templateUrl:o.templateUrl("Grid"),replace:!0}}]),angular.module("LayoutEditor").directive("orcLayoutRow",["$compile","scopeConfigurator","environment",function(e,t,o){return{restrict:"E",scope:{element:"="},controller:["$scope","$element",function(e,o){t.configureForElement(e,o),t.configureForContainer(e,o),e.sortableOptions.axis="x",e.sortableOptions["ui-floating"]=!0}],templateUrl:o.templateUrl("Row"),replace:!0}}]),angular.module("LayoutEditor").directive("orcLayoutPopup",[function(){return{restrict:"A",link:function(e,t,o){var n=$(t),l=n.closest(".layout-popup-trigger"),a=n.closest(".layout-element");l.click(function(){n.toggle(),n.is(":visible")&&(n.position({my:o.orcLayoutPopupMy||"left top",at:o.orcLayoutPopupAt||"left bottom+4px",of:l}),n.find("input").first().focus())}),n.click(function(e){e.stopPropagation()}),a.click(function(e){n.hide()}),n.keydown(function(e){e.ctrlKey||e.shiftKey||e.altKey||27!=e.which||n.hide(),e.stopPropagation()}),n.on("cut copy paste",function(e){e.stopPropagation()})}}}]),angular.module("LayoutEditor").directive("orcLayoutToolbox",["$compile","environment",function(e,t){return{restrict:"E",controller:["$scope","$element",function(e,t){e.resetElements=function(){e.gridElements=[LayoutEditor.Grid.from({toolboxIcon:"",toolboxLabel:"Grid",toolboxDescription:"Empty grid.",children:[]})],e.rowElements=[LayoutEditor.Row.from({toolboxIcon:"",toolboxLabel:"Row (1 column)",toolboxDescription:"Row with 1 column.",children:LayoutEditor.Column.times(1)}),LayoutEditor.Row.from({toolboxIcon:"",toolboxLabel:"Row (2 columns)",toolboxDescription:"Row with 2 columns.",children:LayoutEditor.Column.times(2)}),LayoutEditor.Row.from({toolboxIcon:"",toolboxLabel:"Row (3 columns)",toolboxDescription:"Row with 3 columns.",children:LayoutEditor.Column.times(3)}),LayoutEditor.Row.from({toolboxIcon:"",toolboxLabel:"Row (4 columns)",toolboxDescription:"Row with 4 columns.",children:LayoutEditor.Column.times(4)}),LayoutEditor.Row.from({toolboxIcon:"",toolboxLabel:"Row (6 columns)",toolboxDescription:"Row with 6 columns.",children:LayoutEditor.Column.times(6)}),LayoutEditor.Row.from({toolboxIcon:"",toolboxLabel:"Row (12 columns)",toolboxDescription:"Row with 12 columns.",children:LayoutEditor.Column.times(12)}),LayoutEditor.Row.from({toolboxIcon:"",toolboxLabel:"Row (empty)",toolboxDescription:"Empty row.",children:[]})],e.columnElements=[LayoutEditor.Column.from({toolboxIcon:"",toolboxLabel:"Column",toolboxDescription:"Empty column.",width:1,offset:0,children:[]})],e.canvasElements=[LayoutEditor.Canvas.from({toolboxIcon:"",toolboxLabel:"Canvas",toolboxDescription:"Empty canvas.",children:[]})],e.contentElementCategories=_(e.element.config.categories).map(function(e){return{name:e.name,elements:_(e.contentTypes).map(function(e){var t=e.type,o=LayoutEditor.factories[t]||LayoutEditor.factories.Content,n={isTemplated:!1,contentType:e.id,contentTypeLabel:e.label,contentTypeClass:e.typeClass,data:null,hasEditor:e.hasEditor,html:e.html},l=o(n);return l.toolboxIcon=e.icon||"",l.toolboxLabel=e.label,l.toolboxDescription=e.description,l})}})},e.resetElements(),e.getSortableOptions=function(o){var n,l,a=t.closest(".layout-editor").attr("id"),r=!1;switch(o){case"Grid":n=[".layout-canvas",".layout-column",".layout-common-holder"],l="layout-element layout-container layout-grid ui-sortable-placeholder";break;case"Row":n=[".layout-grid"],l="layout-element layout-container layout-row row ui-sortable-placeholder";break;case"Column":n=[".layout-row:not(.layout-row-full)"],l="layout-element layout-container layout-column ui-sortable-placeholder",r=!0;break;case"Content":n=[".layout-canvas",".layout-column",".layout-common-holder"],l="layout-element layout-content ui-sortable-placeholder";break;case"Canvas":n=[".layout-canvas",".layout-column",".layout-common-holder"],l="layout-element layout-container layout-grid ui-sortable-placeholder"}return{cursor:"move",connectWith:_(n).map(function(e){return"#"+a+" "+e+":not(.layout-container-sealed) > .layout-element-wrapper > .layout-children"}).join(", "),placeholder:l,"ui-floating":r,helper:"clone",appendTo:"body",create:function(e,t){e.target.isToolbox=!0},start:function(t,o){e.$apply(function(){e.element.isDragging=!0})},stop:function(t,o){e.$apply(function(){e.element.isDragging=!1,e.resetElements()})},over:function(t,o){e.$apply(function(){e.element.canvas.setIsDropTarget(!1)})}}};var o="layoutToolboxCategory_Layout_IsCollapsed";e.layoutIsCollapsed="true"===$.cookie(o),e.toggleLayoutIsCollapsed=function(t){e.layoutIsCollapsed=!e.layoutIsCollapsed,$.cookie(o,e.layoutIsCollapsed,{expires:365}),t.preventDefault(),t.stopPropagation()}}],templateUrl:t.templateUrl("Toolbox"),replace:!0}}]),angular.module("LayoutEditor").directive("orcLayoutToolboxGroup",["$compile","environment",function(e,t){return{restrict:"E",scope:{category:"="},controller:["$scope","$element",function(e,t){var o="layoutToolboxCategory_"+e.category.name+"_IsCollapsed";e.isCollapsed="true"===$.cookie(o),e.toggleIsCollapsed=function(t){e.isCollapsed=!e.isCollapsed,$.cookie(o,e.isCollapsed,{expires:365}),t.preventDefault(),t.stopPropagation()}}],templateUrl:t.templateUrl("ToolboxGroup"),replace:!0}}]); +angular.module("LayoutEditor",["ngSanitize","ngResource","ui.sortable"]);var LayoutEditor;!function(e){var t=function(){var e=this;this._clipboardData={},this._isDisabled=!1,this._wasInvoked=!1,this.setData=function(t,o){e._clipboardData[t]=o,e._wasInvoked=!0},this.getData=function(t){return e._wasInvoked=!0,e._clipboardData[t]},this.disable=function(){e._isDisabled=!0,e._wasInvoked=!1,e._clipboardData={}},this.isDisabled=function(){return e._isDisabled},this.wasInvoked=function(){return e._wasInvoked}};e.Clipboard=new t,angular.module("LayoutEditor").factory("clipboard",[function(){return{setData:e.Clipboard.setData,getData:e.Clipboard.getData,disable:e.Clipboard.disable,isDisabled:e.Clipboard.isDisabled,wasInvoked:e.Clipboard.wasInvoked}}])}(LayoutEditor||(LayoutEditor={})),angular.module("LayoutEditor").factory("scopeConfigurator",["$timeout","clipboard",function(e,t){return{configureForElement:function(e,o){o.find(".layout-panel").click(function(e){e.stopPropagation()}),o.parent().keydown(function(n){var l=!1,a=!1,r=e.element;if(!r.editor.isDragging){if(!t.isDisabled()){var i=r.editor.focusedElement;if(i&&n.ctrlKey)switch(n.which){case 67:i.copy(t);break;case 88:i.cut(t);break;case 86:i.paste(t)}}if(n.ctrlKey||n.shiftKey||n.altKey||46!=n.which?n.ctrlKey||n.shiftKey||n.altKey||32!=n.which&&27!=n.which||(o.find(".layout-panel-action-properties").first().click(),l=!0):(e.delete(r),l=!0),r.hasEditor&&(n.ctrlKey||n.shiftKey||n.altKey||13!=n.which||(o.find(".layout-panel-action-edit").first().click(),l=!0)),r.children&&(n.ctrlKey||n.shiftKey||!n.altKey||40!=n.which||(r.children.length>0&&r.children[0].setIsFocused(),l=!0),"Column"==r.type)){var c=!n.ctrlKey;37==n.which?(n.altKey&&r.expandLeft(c),n.shiftKey&&r.contractRight(c),l=!0):39==n.which&&(n.altKey&&r.contractLeft(c),n.shiftKey&&r.expandRight(c),l=!0)}r.parent&&(n.altKey&&38==n.which&&(r.parent.setIsFocused(),l=!0),"Row"==r.parent.type?n.ctrlKey||n.shiftKey||n.altKey||37!=n.which?n.ctrlKey||n.shiftKey||n.altKey||39!=n.which?!n.ctrlKey||n.shiftKey||n.altKey||37!=n.which?!n.ctrlKey||n.shiftKey||n.altKey||39!=n.which||(r.moveDown(),l=!0):(r.moveUp(),a=!0,l=!0):(r.parent.moveFocusNextChild(r),l=!0):(r.parent.moveFocusPrevChild(r),l=!0):n.ctrlKey||n.shiftKey||n.altKey||38!=n.which?n.ctrlKey||n.shiftKey||n.altKey||40!=n.which?!n.ctrlKey||n.shiftKey||n.altKey||38!=n.which?!n.ctrlKey||n.shiftKey||n.altKey||40!=n.which||(r.moveDown(),l=!0):(r.moveUp(),a=!0,l=!0):(r.parent.moveFocusNextChild(r),l=!0):(r.parent.moveFocusPrevChild(r),l=!0)),l&&n.preventDefault(),n.stopPropagation(),e.$apply(),a&&window.setTimeout(function(){e.$apply(function(){r.editor.focusedElement.setIsFocused()})},100)}}),e.element.setIsFocusedEventHandlers.push(function(){o.parent().focus()}),e.delete=function(e){e.delete(),$.event.trigger({type:"layouteditor:edited"})},e.element.hasEditor&&(e.edit=function(){e.$root.editElement(e.element).done(function(t){e.$apply(function(){t.cancel||(e.element.data=t.element.data,e.element.applyElementEditorModel(t.elementEditorModel),e.element.setHtml&&e.element.setHtml(t.element.html))})})})},configureForContainer:function(t,o){var n=t.element;t.getShowChildrenPlaceholder=function(){return 0===t.element.children.length&&!t.element.getIsDropTarget()},t.sortableOptions={cursor:"move",delay:150,disabled:n.getIsSealed(),distance:5,start:function(e,o){t.$apply(function(){n.setIsDropTarget(!0),n.editor.isDragging=!0}),o.placeholder.height(o.item.height()-4),o.placeholder.css("min-height",0)},stop:function(e,o){t.$apply(function(){n.editor.isDragging=!1,n.setIsDropTarget(!1)})},over:function(t,l){l.sender&&l.sender[0].isToolbox&&(l.sender[0].dropTargetTimeout&&(e.cancel(l.sender[0].dropTargetTimeout),l.sender[0].dropTargetTimeout=null),e(function(){if("Row"==n.type){var e=n.editor.dropTargetElement;e&&"Row"==e.type&&e.rollbackAddColumn()}n.setIsDropTarget(!1)}),l.sender[0].dropTargetTimeout=e(function(){if("Row"==n.type){var e=l.item.sortable.model,t=Math.floor(12/(n.children.length+1));e.width=t,e.offset=0,n.beginAddColumn(t);var a=_.max(_(o.find("> .layout-children > .layout-column:not(.ui-sortable-placeholder)")).map(function(e){return $(e).height()}));for(i=1;i<=12;i++)l.placeholder.removeClass("col-"+i);l.placeholder.addClass("col-"+e.width),a>0?(l.placeholder.height(a),l.placeholder.css("min-height",0)):(l.placeholder.height(0),l.placeholder.css("min-height",""))}n.setIsDropTarget(!0)},150))},receive:function(o,l){l.sender&&l.sender[0].isToolbox&&t.$apply(function(){var o=l.item.sortable.model;o&&("Row"==n.type&&n.commitAddColumn(),o.setEditor(n.editor),o.setParent(n),o.hasEditor&&t.$root.editElement(o).done(function(t){t.cancel||(o.data=t.element.data,o.applyElementEditorModel(t.elementEditorModel),o.setHtml&&o.setHtml(t.element.html)),e(function(){t.cancel?o.delete():o.setIsFocused(),n.setIsDropTarget(!1)})})),e(function(){n.setIsDropTarget(!1),o&&o.setIsFocused(),t.$root.addElement(o).done(function(){})})})}},t.click=function(e,t){e.editor.isDragging||e.setIsFocused(),t.stopPropagation()},t.getClasses=function(e){var t=["layout-element"];return e.children&&(t.push("layout-container"),e.getIsSealed()&&t.push("layout-container-sealed")),t.push("layout-"+e.type.toLowerCase()),e.dropTargetClass&&t.push(e.dropTargetClass),"Row"==e.type&&(t.push("row"),e.canAddColumn()||t.push("layout-row-full")),"Column"==e.type&&(t.push("col-"+e.width),t.push("col-offset-"+e.offset)),"Content"==e.type&&t.push("layout-content-"+e.contentTypeClass),e.getIsActive()&&t.push("layout-element-active"),e.getIsFocused()&&t.push("layout-element-focused"),e.getIsSelected()&&t.push("layout-element-selected"),e.getIsDropTarget()&&t.push("layout-element-droptarget"),e.isTemplated&&t.push("layout-element-templated"),t}}}}]),angular.module("LayoutEditor").directive("orcLayoutEditor",["environment",function(environment){return{restrict:"E",scope:{},controller:["$scope","$element","$attrs","$compile","clipboard",function($scope,$element,$attrs,$compile,clipboard){if(!$attrs.model)throw new Error("The 'model' attribute must evaluate to a LayoutEditor.Editor object.");$scope.element=eval($attrs.model),$scope.click=function(e,t){e.editor.isDragging||e.setIsFocused(),t.stopPropagation()},$scope.getClasses=function(e){var t=["layout-element","layout-container","layout-canvas"];return e.getIsActive()&&t.push("layout-element-active"),e.getIsFocused()&&t.push("layout-element-focused"),e.getIsSelected()&&t.push("layout-element-selected"),e.getIsDropTarget()&&t.push("layout-element-droptarget"),e.isTemplated&&t.push("layout-element-templated"),t};var layoutDesignerHost=$(".layout-designer").data("layout-designer-host");$scope.$root.layoutDesignerHost=layoutDesignerHost,layoutDesignerHost.element.on("replacecanvas",function(e,t){var o=$scope.element,n={data:t.canvas.data,htmlId:t.canvas.htmlId,htmlClass:t.canvas.htmlClass,htmlStyle:t.canvas.htmlStyle,isTemplated:t.canvas.isTemplated,children:t.canvas.children};layoutDesignerHost.editor=window.layoutEditor=new LayoutEditor.Editor(o.config,n);var l="",a=$compile(l)($scope);$(".layout-editor-holder").html(a)}),$scope.$root.editElement=function(e){var t=$scope.$root.layoutDesignerHost;return t.editElement(e)},$scope.$root.addElement=function(e){var t=$scope.$root.layoutDesignerHost;return t.addElement(e)},$(document).on("cut copy paste",function(e){if(clipboard.wasInvoked())e.originalEvent.clipboardData.setData("text/plain",clipboard.getData("text/plain")),e.originalEvent.clipboardData.setData("text/json",clipboard.getData("text/json")),e.preventDefault();else{var t=$scope.element.focusedElement;t&&($scope.$apply(function(){switch(e.type){case"copy":t.copy(e.originalEvent.clipboardData);break;case"cut":t.cut(e.originalEvent.clipboardData);break;case"paste":t.paste(e.originalEvent.clipboardData),$.event.trigger({type:"layouteditor:edited"})}}),window.setTimeout(function(){$scope.$apply(function(){$scope.element.focusedElement&&$scope.element.focusedElement.setIsFocused()})},100),e.preventDefault())}clipboard.disable()})}],templateUrl:environment.templateUrl("Editor"),replace:!0,link:function(e,t){t.find(".layout-toolbar-container").click(function(e){e.stopPropagation()}),$(window).click(function(t){e.$apply(function(){e.element.activeElement=null,e.element.focusedElement=null})})}}}]),angular.module("LayoutEditor").directive("orcLayoutCanvas",["scopeConfigurator","environment",function(e,t){return{restrict:"E",scope:{element:"="},controller:["$scope","$element","$attrs",function(t,o,n){e.configureForElement(t,o),e.configureForContainer(t,o),t.sortableOptions.axis="y"}],templateUrl:t.templateUrl("Canvas"),replace:!0}}]),angular.module("LayoutEditor").directive("orcLayoutChild",["$compile",function(e){return{restrict:"E",scope:{element:"="},link:function(t,o){var n="",l=e(n)(t);$(o).replaceWith(l)}}}]),angular.module("LayoutEditor").directive("orcLayoutColumn",["$compile","scopeConfigurator","environment",function(e,t,o){return{restrict:"E",scope:{element:"="},controller:["$scope","$element",function(e,o){t.configureForElement(e,o),t.configureForContainer(e,o),e.sortableOptions.axis="y"}],templateUrl:o.templateUrl("Column"),replace:!0,link:function(e,t,o){t.find(".layout-column-resize-bar").draggable({axis:"x",helper:"clone",revert:!0,start:function(t,o){e.$apply(function(){e.element.editor.isResizing=!0})},drag:function(o,n){var l=t.parent(),a=l.width()/e.element.width,r=!o.ctrlKey;if($(o.target).hasClass("layout-column-resize-bar-left")){var i=n.offset.left-l.offset().left;i<-a&&e.element.canExpandLeft(r)?e.$apply(function(){e.element.expandLeft(r)}):i>a&&e.element.canContractLeft(r)&&e.$apply(function(){e.element.contractLeft(r)})}else if($(o.target).hasClass("layout-column-resize-bar-right")){var i=n.offset.left-l.width()-l.offset().left;i>a&&e.element.canExpandRight(r)?e.$apply(function(){e.element.expandRight(r)}):i<-a&&e.element.canContractRight(r)&&e.$apply(function(){e.element.contractRight(r)})}},stop:function(t,o){e.$apply(function(){e.element.editor.isResizing=!1})}})}}}]),angular.module("LayoutEditor").directive("orcLayoutContent",["$sce","scopeConfigurator","environment",function(e,t,o){return{restrict:"E",scope:{element:"="},controller:["$scope","$element",function(o,n){t.configureForElement(o,n),o.element.setHtml=function(t){o.element.html=t,o.element.htmlUnsafe=e.trustAsHtml(t)},o.element.setHtml(o.element.html)}],templateUrl:o.templateUrl("Content"),replace:!0}}]),angular.module("LayoutEditor").directive("orcLayoutGrid",["$compile","scopeConfigurator","environment",function(e,t,o){return{restrict:"E",scope:{element:"="},controller:["$scope","$element",function(e,o){t.configureForElement(e,o),t.configureForContainer(e,o),e.sortableOptions.axis="y"}],templateUrl:o.templateUrl("Grid"),replace:!0}}]),angular.module("LayoutEditor").directive("orcLayoutRow",["$compile","scopeConfigurator","environment",function(e,t,o){return{restrict:"E",scope:{element:"="},controller:["$scope","$element",function(e,o){t.configureForElement(e,o),t.configureForContainer(e,o),e.sortableOptions.axis="x",e.sortableOptions["ui-floating"]=!0}],templateUrl:o.templateUrl("Row"),replace:!0}}]),angular.module("LayoutEditor").directive("orcLayoutPopup",[function(){return{restrict:"A",link:function(e,t,o){var n=$(t),l=n.closest(".layout-popup-trigger"),a=n.closest(".layout-element");l.click(function(){n.toggle(),n.is(":visible")&&(n.position({my:o.orcLayoutPopupMy||"left top",at:o.orcLayoutPopupAt||"left bottom+4px",of:l}),n.find("input").first().focus())}),n.click(function(e){e.stopPropagation()}),a.click(function(e){n.hide()}),n.keydown(function(e){e.ctrlKey||e.shiftKey||e.altKey||27!=e.which||n.hide(),e.stopPropagation()}),n.on("cut copy paste",function(e){e.stopPropagation()})}}}]),angular.module("LayoutEditor").directive("orcLayoutToolbox",["$compile","environment",function(e,t){return{restrict:"E",controller:["$scope","$element",function(e,t){e.resetElements=function(){e.gridElements=[LayoutEditor.Grid.from({toolboxIcon:"",toolboxLabel:"Grid",toolboxDescription:"Empty grid.",children:[]})],e.rowElements=[LayoutEditor.Row.from({toolboxIcon:"",toolboxLabel:"Row (1 column)",toolboxDescription:"Row with 1 column.",children:LayoutEditor.Column.times(1)}),LayoutEditor.Row.from({toolboxIcon:"",toolboxLabel:"Row (2 columns)",toolboxDescription:"Row with 2 columns.",children:LayoutEditor.Column.times(2)}),LayoutEditor.Row.from({toolboxIcon:"",toolboxLabel:"Row (3 columns)",toolboxDescription:"Row with 3 columns.",children:LayoutEditor.Column.times(3)}),LayoutEditor.Row.from({toolboxIcon:"",toolboxLabel:"Row (4 columns)",toolboxDescription:"Row with 4 columns.",children:LayoutEditor.Column.times(4)}),LayoutEditor.Row.from({toolboxIcon:"",toolboxLabel:"Row (6 columns)",toolboxDescription:"Row with 6 columns.",children:LayoutEditor.Column.times(6)}),LayoutEditor.Row.from({toolboxIcon:"",toolboxLabel:"Row (12 columns)",toolboxDescription:"Row with 12 columns.",children:LayoutEditor.Column.times(12)}),LayoutEditor.Row.from({toolboxIcon:"",toolboxLabel:"Row (empty)",toolboxDescription:"Empty row.",children:[]})],e.columnElements=[LayoutEditor.Column.from({toolboxIcon:"",toolboxLabel:"Column",toolboxDescription:"Empty column.",width:1,offset:0,children:[]})],e.canvasElements=[LayoutEditor.Canvas.from({toolboxIcon:"",toolboxLabel:"Canvas",toolboxDescription:"Empty canvas.",children:[]})],e.contentElementCategories=_(e.element.config.categories).map(function(e){return{name:e.name,elements:_(e.contentTypes).map(function(e){var t=e.type,o=LayoutEditor.factories[t]||LayoutEditor.factories.Content,n={isTemplated:!1,contentType:e.id,contentTypeLabel:e.label,contentTypeClass:e.typeClass,data:null,hasEditor:e.hasEditor,html:e.html},l=o(n);return l.toolboxIcon=e.icon||"",l.toolboxLabel=e.label,l.toolboxDescription=e.description,l})}})},e.resetElements(),e.getSortableOptions=function(o){var n,l,a=t.closest(".layout-editor").attr("id"),r=!1;switch(o){case"Grid":n=[".layout-canvas",".layout-column",".layout-common-holder"],l="layout-element layout-container layout-grid ui-sortable-placeholder";break;case"Row":n=[".layout-grid"],l="layout-element layout-container layout-row row ui-sortable-placeholder";break;case"Column":n=[".layout-row:not(.layout-row-full)"],l="layout-element layout-container layout-column ui-sortable-placeholder",r=!0;break;case"Content":n=[".layout-canvas",".layout-column",".layout-common-holder"],l="layout-element layout-content ui-sortable-placeholder";break;case"Canvas":n=[".layout-canvas",".layout-column",".layout-common-holder"],l="layout-element layout-container layout-grid ui-sortable-placeholder"}return{cursor:"move",connectWith:_(n).map(function(e){return"#"+a+" "+e+":not(.layout-container-sealed) > .layout-element-wrapper > .layout-children"}).join(", "),placeholder:l,"ui-floating":r,helper:"clone",appendTo:"body",create:function(e,t){e.target.isToolbox=!0},start:function(t,o){e.$apply(function(){e.element.isDragging=!0})},stop:function(t,o){e.$apply(function(){e.element.isDragging=!1,e.resetElements()})},over:function(t,o){e.$apply(function(){e.element.canvas.setIsDropTarget(!1)})}}};var o="layoutToolboxCategory_Layout_IsCollapsed";e.layoutIsCollapsed="true"===$.cookie(o),e.toggleLayoutIsCollapsed=function(t){e.layoutIsCollapsed=!e.layoutIsCollapsed,$.cookie(o,e.layoutIsCollapsed,{expires:365}),t.preventDefault(),t.stopPropagation()}}],templateUrl:t.templateUrl("Toolbox"),replace:!0}}]),angular.module("LayoutEditor").directive("orcLayoutToolboxGroup",["$compile","environment",function(e,t){return{restrict:"E",scope:{category:"="},controller:["$scope","$element",function(e,t){var o="layoutToolboxCategory_"+e.category.name+"_IsCollapsed";e.isCollapsed="true"===$.cookie(o),e.toggleIsCollapsed=function(t){e.isCollapsed=!e.isCollapsed,$.cookie(o,e.isCollapsed,{expires:365}),t.preventDefault(),t.stopPropagation()}}],templateUrl:t.templateUrl("ToolboxGroup"),replace:!0}}]); diff --git a/src/Orchard.Web/Modules/Orchard.Layouts/Styles/LayoutEditor.css b/src/Orchard.Web/Modules/Orchard.Layouts/Styles/LayoutEditor.css index 510b925b3..4e6e65ffc 100644 --- a/src/Orchard.Web/Modules/Orchard.Layouts/Styles/LayoutEditor.css +++ b/src/Orchard.Web/Modules/Orchard.Layouts/Styles/LayoutEditor.css @@ -262,6 +262,16 @@ .layout-editor .layout-row.layout-element-focused:not(.layout-element-droptarget) > .layout-element-wrapper > .layout-children > .layout-element + .layout-element:not(.layout-element-active) > .layout-element-wrapper { margin-left: 0 !important; } +.layout-editor .layout-row > div > .layout-children { + display: -ms-flexbox; + display: flex; + -ms-flex-direction: row; + flex-direction: row; +} +.layout-editor .layout-column > div > .layout-children { + -ms-flex-direction: column; + flex-direction: column; +} .layout-editor .layout-column > .layout-element-wrapper > .layout-column-resize-bar { display: none; @@ -1110,4 +1120,4 @@ body .layout-toolbox-item + .layout-toolbox-item { font-size: 0.9em; } -/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkVkaXRvci5sZXNzIiwiTGF5b3V0RWRpdG9yLmNzcyIsIkVsZW1lbnQubGVzcyIsIkNvbnRhaW5lci5sZXNzIiwiQ2FudmFzLmxlc3MiLCJSb3cubGVzcyIsIkNvbHVtbi5sZXNzIiwiQ29udGVudC5sZXNzIiwiUmVzZXQubGVzcyIsIlRvb2xib3gubGVzcyIsIlBvcHVwLmxlc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFFQTtFQUNJLHFCQUFBO0VBQUEsY0FBQTtFQUNBLHVCQUFBO01BQUEsK0JBQUE7RUFDQSxtQkFBQTtFQUNBLFVBQUE7Q0NESDtBREhEO0VBT1EscUJBQUE7RUFBQSxjQUFBO0NDRFA7QURORDtFQVVZLGtCQUFBO0NDRFg7QURNRDtFQUNJLHFCQUFBO0VBQUEsY0FBQTtFQUNBLGdCQUFBO0VBQ0EsZ0JBQUE7Q0NKSDtBRENEO0VBTVEsY0FBQTtNQUFBLFVBQUE7RUFDQSxvQkFBQTtFQUNBLDBCQUFBO0VBQ0EsMEJBQUE7Q0NKUDtBRExEO0VBWVksY0FBQTtFQUNBLG9CQUFBO0VBQ0EsaUJBQUE7Q0NKWDtBRFZEO0VBaUJnQix1QkFBQTtDQ0pmO0FEYkQ7RUFzQlksd0JBQUE7RUFDQSxxQkFBQTtFQUNBLG9CQUFBO0NDTlg7QURsQkQ7RUE2QlEsb0JBQUE7Q0NSUDtBRFlEO0VBQ0ksY0FBQTtDQ1ZIO0FEYU87O0VBQ0ksYUFBQTtFQUNBLGVBQUE7Q0NWWDtBRGFPO0VBQ0ksWUFBQTtDQ1hYO0FEQ0Q7O0VBY1ksZ0JBQUE7Q0NYWDtBREhEO0VBa0JZLHVCQUFBO0VBQ0EsWUFBQTtFQUNBLFdBQUE7Q0NaWDtBRGNXO0VBQ0ksb0JBQUE7RUFDQSxZQUFBO0NDWmY7QURaRDtFQTZCWSxnQkFBQTtDQ2RYO0FEZkQ7RUFrQ1EsbUJBQUE7RUFDQSwwQkFBQTtFQUNBLGlCQUFBO0VBQ0EsdUJBQUE7Q0NoQlA7QURyQkQ7RUF5Q1EscUJBQUE7RUFDQSxtQkFBQTtDQ2pCUDtBRHpCRDtFQThDUSxvQkFBQTtDQ2xCUDs7QUM1RUQ7RUFF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VEQ7O0VDQVEsVUFBQTtFQUNBLFdBQUE7RUFDQSx3QkFBQTtDUHlUUDtBTTNURDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUNPUSxlQUFBO0NQc1ZQO0FNN1ZEOzs7Ozs7Ozs7Ozs7OztFQ1dRLGdCQUFBO0VBQ0EsbUJBQUE7Q1BrV1A7QU05V0Q7Ozs7RUNnQlEsa0JBQUE7RUFDQSxtQkFBQTtDUG9XUDtBTXJYRDs7RUNxQlEsbUJBQUE7Q1BvV1A7QU16WEQ7Ozs7Ozs7O0VDeUJRLHVCQUFBO0VBQ0EsaUJBQUE7Q1AwV1A7QU1wWUQ7Ozs7Ozs7Ozs7RUM4QlEsbUJBQUE7Q1BrWFA7QU1oWkQ7Ozs7RUNrQ1Esb0JBQUE7Q1BvWFA7QU10WkQ7Ozs7Ozs7O0VDc0NRLHVCQUFBO0NQMFhQO0FNaGFEOztFQzBDUSxrQkFBQTtDUDBYUDtBTXBhRDs7RUM4Q1EsbUJBQUE7Q1AwWFA7QU14YUQ7O0VDa0RRLG9CQUFBO0NQMFhQO0FNNWFEOztFQ3NEUSxzQkFBQTtDUDBYUDtBTWhiRDs7OztFQzBEUSxvQkFBQTtFQUNBLG1CQUFBO0NQNFhQO0FNdmJEOztFQ2dFUSxjQUFBO0NQMlhQO0FNM2JEOztFQ29FUSxtQkFBQTtFQUNBLG9CQUFBO0NQMlhQO0FNaGNEOztFQ3lFUSxtQkFBQTtFQUNBLG9CQUFBO0VBQ0EsZUFBQTtFQUNBLDhCQUFBO0VBQ0Esb0JBQUE7Q1AyWFA7QU14Y0Q7O0VDaUZRLDZCQUFBO0NQMlhQO0FNNWNEOztFQ3FGUSw2QkFBQTtDUDJYUDtBTWhkRDs7Ozs7Ozs7OztFQ3lGUSxzQkFBQTtDUG1ZUDtBTTVkRDs7RUM4RlEsZUFBQTtDUGtZUDtBTWhlRDs7RUNrR1EsZUFBQTtDUGtZUDtBTXBlRDs7OztFQ3NHUSwyQkFBQTtDUG9ZUDtBTTFlRDs7Ozs7Ozs7RUMyR1EsYUFBQTtDUHlZUDtBTXBmRDs7RUMrR1EsY0FBQTtDUHlZUDtBTXhmRDs7RUNtSFEsbUJBQUE7RUFDQSxhQUFBO0NQeVlQO0FNN2ZEOzs7O0VDd0hRLGtDQUFBO0NQMllQO0FNbmdCRDs7OztFQzRIUSwyQkFBQTtDUDZZUDtBTXpnQkQ7Ozs7OztFQ2dJUSw4QkFBQTtDUGlaUDtBTWpoQkQ7O0VDb0lRLHVCQUFBO0NQaVpQO0FNcmhCRDs7RUN3SVEsb0JBQUE7Q1BpWlA7QU16aEJEOztFQzRJUSxxQkFBQTtDUGlaUDtBTTdoQkQ7O0VDZ0pRLGNBQUE7RUFDQSxpQkFBQTtDUGlaUDtBTWxpQkQ7O0VDcUpRLG9CQUFBO0NQaVpQO0FNdGlCRDs7RUN5SlEsaUJBQUE7Q1BpWlA7QU0xaUJEOztFQzZKUSxvQkFBQTtDUGlaUDtBTTlpQkQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUNpS1EsZUFBQTtDUHFhUDtBTXRrQkQ7O0VDcUtRLG1CQUFBO0VBQ0Esc0JBQUE7RUFDQSxrQkFBQTtFQUNBLGtCQUFBO0NQcWFQO0FNN2tCRDs7RUM0S1EsbUJBQUE7RUFDQSxzQkFBQTtFQUNBLGtCQUFBO0VBQ0Esa0JBQUE7Q1BxYVA7QU1wbEJEOztFQ21MUSxtQkFBQTtFQUNBLHNCQUFBO0VBQ0Esa0JBQUE7RUFDQSxrQkFBQTtDUHFhUDtBTTNsQkQ7O0VDMExRLG1CQUFBO0VBQ0Esc0JBQUE7RUFDQSxrQkFBQTtFQUNBLGtCQUFBO0NQcWFQO0FNbG1CRDs7RUNpTVEsbUJBQUE7RUFDQSxzQkFBQTtFQUNBLGtCQUFBO0VBQ0Esa0JBQUE7Q1BxYVA7QU16bUJEOztFQ3dNUSxtQkFBQTtFQUNBLHNCQUFBO0VBQ0Esa0JBQUE7RUFDQSxrQkFBQTtDUHFhUDtBTWhuQkQ7Ozs7Ozs7Ozs7OztFQytNUSxlQUFBO0NQK2FQO0FNOW5CRDs7RUNtTlEsbUJBQUE7Q1ArYVA7QU1sb0JEOzs7Ozs7OztFQ3VOUSxnQkFBQTtFQUNBLG1CQUFBO0NQcWJQO0FNN29CRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUMrTlksY0FBQTtFQUNBLGlCQUFBO0NQZ2RYO0FNaHJCRDs7RUNvT1Esa0JBQUE7Q1BnZFA7QU1wckJEOzs7Ozs7RUN3T1EsbUJBQUE7Q1BvZFA7QU01ckJEOztFQzRPUSx5QkFBQTtDUG9kUDtBTWhzQkQ7Ozs7RUNnUFEsc0JBQUE7Q1BzZFA7QU10c0JEOzs7Ozs7Ozs7Ozs7RUNzUFksd0JBQUE7Q1A4ZFg7QU1wdEJEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUNrUWdCLHdCQUFBO0NQd2ZmO0FNMXZCRDs7RUNzUVEsZUFBQTtDUHdmUDtBTTl2QkQ7O0VDMFFRLHVCQUFBO0NQd2ZQO0FNbHdCRDs7OztFQzhRUSw0QkFBQTtDUDBmUDtBTXh3QkQ7Ozs7RUNrUlEsc0JBQUE7Q1A0ZlA7QU05d0JEOzs7O0VDc1JRLDRCQUFBO0NQOGZQO0FNcHhCRDs7OztFQzBSUSx5QkFBQTtDUGdnQlA7QU0xeEJEOzs7O0VDOFJRLDRCQUFBO0NQa2dCUDtBTWh5QkQ7Ozs7RUNrU1EsbUJBQUE7Q1BvZ0JQO0FNdHlCRDs7Ozs7Ozs7RUNzU1Esb0JBQUE7Q1AwZ0JQO0FNaHpCRDs7Ozs7Ozs7Ozs7Ozs7OztFQzJTWSxxQkFBQTtDUHVoQlg7QU1sMEJEOztFQytTUSx1QkFBQTtFQUNBLG9CQUFBO0VBQ0EsMEJBQUE7RUFDQSxxQkFBQTtDUHVoQlA7QU16MEJEOzs7O0VDc1RRLGFBQUE7Q1B5aEJQO0FNLzBCRDs7RUMwVFEsa0JBQUE7Q1B5aEJQO0FNbjFCRDs7Ozs7Ozs7RUM4VFEsdUJBQUE7Q1AraEJQO0FNNzFCRDs7Ozs7O0VDa1VRLHdCQUFBO0NQbWlCUDtBTXIyQkQ7Ozs7OztFQ3NVUSxtQkFBQTtDUHVpQlA7QU03MkJEOzs7Ozs7OztFQzBVUSxzQkFBQTtDUDZpQlA7QU12M0JEOzs7Ozs7Ozs7Ozs7OztFQ3dXUSxxQkFBQTtDUCtoQlA7QU12NEJEOztFQzRXUSxzQkFBQTtDUCtoQlA7QU0zNEJEOzs7Ozs7Ozs7Ozs7OztFQ2lYUSx1QkFBQTtDUDBpQlA7QU0zNUJEOzs7O0VDcVhRLHFCQUFBO0NQNGlCUDtBTWo2QkQ7O0VDeVhRLFlBQUE7RUFDQSxvQkFBQTtFQUNBLGtCQUFBO0VBQ0EsbUJBQUE7Q1A0aUJQO0FNeDZCRDs7RUNnWVEsaUJBQUE7RUFDQSxrQkFBQTtFQUNBLDhCQUFBO0VBQ0EsK0JBQUE7Q1A0aUJQO0FNLzZCRDs7RUN1WVEsa0JBQUE7RUFDQSxtQkFBQTtDUDRpQlA7QU1wN0JEOztFQWVvQix5QkFBQTtDTnk2Qm5CO0FNeDdCRDs7RUFtQm9CLDRCQUFBO0NOeTZCbkI7QU1wNkJPOzs7O0VBRVEsZUFBQTtFQUNBLFlBQUE7RUFDQSxnQkFBQTtFQUNBLGFBQUE7Q053NkJmO0FNcjhCRDs7RUFtQ1EsZUFBQTtFQUNBLFlBQUE7RUFDQSxnQkFBQTtFQUNBLGFBQUE7Q05zNkJQOztBUTc4QkQ7RUFFUSwwQkFBQTtFQUNBLHVCQUFBO0VBQ0Esa0JBQUE7RUFDQSxnQkFBQTtFQUNBLHNCQUFBO0NSKzhCUDtBUXI5QkQ7RUFTWSxzQkFBQTtFQUNBLFlBQUE7RUFDQSw4Q0FBQTtDUis4Qlg7QVExOUJEO0VBZVksZ0JBQUE7Q1I4OEJYO0FRejhCRDtFQUVRLGlCQUFBO0VBQ0EsU0FBQTtFQUNBLG1CQUFBO0VBQ0EsYUFBQTtFQUNBLGlCQUFBO0VBQ0Esc0JBQUE7RUFDQSxrQkFBQTtFQUNBLGlCQUFBO0VBQ0EsYUFBQTtDUjA4QlA7QVFwOUJEO0VBYVksMEJBQUE7RUFDQSxhQUFBO0VBQ0EsMEJBQUE7Q1IwOEJYO0FRejlCRDtFQW1Cb0IsZUFBQTtFQUNBLG1CQUFBO0VBQ0Esc0JBQUE7Q1J5OEJuQjtBUXY4Qm1CO0VBQ0ksc0JBQUE7RUFDQSxZQUFBO0VBQ0Esa0JBQUE7RUFDQSw4Q0FBQTtFQUNBLG1CQUFBO0VBQ0EsaUJBQUE7Q1J5OEJ2QjtBUXI4QmU7RUFFUSxpQkFBQTtDUnM4QnZCO0FReDhCZTtFQU1RLGNBQUE7Q1JxOEJ2QjtBUTUrQkQ7RUE0Q29CLGdCQUFBO0NSbThCbkI7QVEvK0JEO0VBZ0RvQiwwQkFBQTtFQUNBLHVCQUFBO0VBQ0Esa0JBQUE7RUFDQSxnQkFBQTtDUms4Qm5CO0FRci9CRDtFQXNEd0Isc0JBQUE7RUFDQSxZQUFBO0VBQ0EsOENBQUE7Q1JrOEJ2QjtBUTEvQkQ7RUE0RHdCLGdCQUFBO0NSaThCdkI7QVE3L0JEO0VBaUVvQixnQkFBQTtDUis3Qm5COztBU3BoQ0Q7RUFFUSxjQUFBO0VBQ0EsbUJBQUE7RUFDQSxVQUFBO0VBR0EsaURBQUE7RUFDQSwwQkFBQTtFQUNBLGVBQUE7RUFDQSwwQkFBQTtFQUNBLGlCQUFBO0VBQ0EsWUFBQTtFQUNBLGVBQUE7RUFDQSxpQkFBQTtFQUNBLGdCQUFBO0VBQ0Esb0JBQUE7RUFDQSxvQkFBQTtFQUNBLGlCQUFBO0NUc2hDUDtBU3BoQ087RUFDSSxhQUFBO0NUc2hDWDtBUzNpQ0Q7RUF5QlkscUJBQUE7RUFBQSxjQUFBO0VBQ0EsaUJBQUE7Q1RxaENYO0FTL2lDRDtFQTZCZ0IsaUJBQUE7RUFDQSxpREFBQTtFQUNBLGtCQUFBO0NUcWhDZjtBU3BqQ0Q7RUFvQ1ksaUJBQUE7Q1RtaENYO0FTdmpDRDtFQXdDWSxpQkFBQTtFQUNBLGtCQUFBO0VBQ0EsZUFBQTtDVGtoQ1g7QVM1akNEO0VBOENZLDBCQUFBO0VBQ0EsZ0JBQUE7Q1RpaENYO0FTaGtDRDs7RUFvRGdCLFlBQUE7Q1RnaENmO0FTcGtDRDtFQXdEZ0IsZUFBQTtFQUNBLGlCQUFBO0NUK2dDZiIsImZpbGUiOiJMYXlvdXRFZGl0b3IuY3NzIiwic291cmNlc0NvbnRlbnQiOlsi77u/QGltcG9ydCBcIlZhcmlhYmxlcy5sZXNzXCI7XHJcblxyXG4ubGF5b3V0LWVkaXRvci10b29sYmFyIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB0b3A6IDEwcHg7XHJcblxyXG4gICAgLmxheW91dC1lZGl0b3ItdG9vbGJhci1ncm91cCB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuXHJcbiAgICAgICAgPiBsaSArIGxpIHtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDEycHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4ubGF5b3V0LWVkaXRvciB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgbWFyZ2luLXRvcDogMWVtO1xyXG4gICAgZm9udC1zaXplOiBAZm9udC1zaXplO1xyXG5cclxuICAgID4gLmxheW91dC1jYW52YXMtd3JhcHBlciB7XHJcbiAgICAgICAgZmxleDogMSAxO1xyXG4gICAgICAgIGhlaWdodDogZml0LWNvbnRlbnQ7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGdyYXktYmc7XHJcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgQGdyYXktYm9yZGVyO1xyXG5cclxuICAgICAgICA+IC5sYXlvdXQtdG9vbGJhci1jb250YWluZXIge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICBtYXJnaW46IEBjb250YWluZXItcGFkZGluZyBAY29udGFpbmVyLXBhZGRpbmcgMDtcclxuICAgICAgICAgICAgbWluLWhlaWdodDogNzFweDtcclxuXHJcbiAgICAgICAgICAgID4gLm1jZS1wYW5lbCB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwID4gLmxheW91dC1wbGFjZWhvbGRlciB7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IGRhc2hlZCAjY2NjO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwLjJlbSAwLjRlbTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogI2U4ZThlODtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmxheW91dC1zbmlwcGV0IHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAjZThlOGU4O1xyXG4gICAgfVxyXG59XHJcblxyXG4ubGF5b3V0LWVkaXRvci1oZWxwLWRpYWxvZyB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG5cclxuICAgIC5oZWxwLXJvdyB7XHJcbiAgICAgICAgJjpiZWZvcmUsICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICBjb250ZW50OiBcIiBcIjsgLy8gMVxyXG4gICAgICAgICAgICBkaXNwbGF5OiB0YWJsZTsgLy8gMlxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgIGNsZWFyOiBib3RoO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgPiAuaGVscC1jb2x1bW4tZnVsbCwgPiAuaGVscC1jb2x1bW4taGFsZiB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMC41ZW0gMDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgID4gLmhlbHAtY29sdW1uLWhhbGYge1xyXG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICAgICAgd2lkdGg6IDUwJTtcclxuXHJcbiAgICAgICAgICAgICY6bnRoLWNoaWxkKDJuKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgY2xlYXI6IGxlZnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICsgLmhlbHAtcm93IHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMWVtO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBjb2RlIHtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YzZjRmNTtcclxuICAgICAgICBwYWRkaW5nOiAycHggNHB4O1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7XHJcbiAgICB9XHJcblxyXG4gICAgcCB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC41ZW07XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNmVtO1xyXG4gICAgfVxyXG5cclxuICAgIHRhYmxlID4gdGJvZHkgPiB0ciA+IHRkOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xyXG4gICAgfVxyXG59XHJcbiIsIi5sYXlvdXQtZWRpdG9yLXRvb2xiYXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAxMHB4O1xufVxuLmxheW91dC1lZGl0b3ItdG9vbGJhciAubGF5b3V0LWVkaXRvci10b29sYmFyLWdyb3VwIHtcbiAgZGlzcGxheTogZmxleDtcbn1cbi5sYXlvdXQtZWRpdG9yLXRvb2xiYXIgLmxheW91dC1lZGl0b3ItdG9vbGJhci1ncm91cCA+IGxpICsgbGkge1xuICBtYXJnaW4tbGVmdDogMTJweDtcbn1cbi5sYXlvdXQtZWRpdG9yIHtcbiAgZGlzcGxheTogZmxleDtcbiAgbWFyZ2luLXRvcDogMWVtO1xuICBmb250LXNpemU6IDE0cHg7XG59XG4ubGF5b3V0LWVkaXRvciA+IC5sYXlvdXQtY2FudmFzLXdyYXBwZXIge1xuICBmbGV4OiAxIDE7XG4gIGhlaWdodDogZml0LWNvbnRlbnQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmM2Y0ZjU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlNGU1ZTY7XG59XG4ubGF5b3V0LWVkaXRvciA+IC5sYXlvdXQtY2FudmFzLXdyYXBwZXIgPiAubGF5b3V0LXRvb2xiYXItY29udGFpbmVyIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWFyZ2luOiAxMnB4IDEycHggMDtcbiAgbWluLWhlaWdodDogNzFweDtcbn1cbi5sYXlvdXQtZWRpdG9yID4gLmxheW91dC1jYW52YXMtd3JhcHBlciA+IC5sYXlvdXQtdG9vbGJhci1jb250YWluZXIgPiAubWNlLXBhbmVsIHtcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbn1cbi5sYXlvdXQtZWRpdG9yID4gLmxheW91dC1jYW52YXMtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwID4gLmxheW91dC1wbGFjZWhvbGRlciB7XG4gIGJvcmRlcjogMXB4IGRhc2hlZCAjY2NjO1xuICBwYWRkaW5nOiAwLjJlbSAwLjRlbTtcbiAgYmFja2dyb3VuZDogI2U4ZThlODtcbn1cbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtc25pcHBldCB7XG4gIGJhY2tncm91bmQ6ICNlOGU4ZTg7XG59XG4ubGF5b3V0LWVkaXRvci1oZWxwLWRpYWxvZyB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4ubGF5b3V0LWVkaXRvci1oZWxwLWRpYWxvZyAuaGVscC1yb3c6YmVmb3JlLFxuLmxheW91dC1lZGl0b3ItaGVscC1kaWFsb2cgLmhlbHAtcm93OmFmdGVyIHtcbiAgY29udGVudDogXCIgXCI7XG4gIGRpc3BsYXk6IHRhYmxlO1xufVxuLmxheW91dC1lZGl0b3ItaGVscC1kaWFsb2cgLmhlbHAtcm93OmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7XG59XG4ubGF5b3V0LWVkaXRvci1oZWxwLWRpYWxvZyAuaGVscC1yb3cgPiAuaGVscC1jb2x1bW4tZnVsbCxcbi5sYXlvdXQtZWRpdG9yLWhlbHAtZGlhbG9nIC5oZWxwLXJvdyA+IC5oZWxwLWNvbHVtbi1oYWxmIHtcbiAgbWFyZ2luOiAwLjVlbSAwO1xufVxuLmxheW91dC1lZGl0b3ItaGVscC1kaWFsb2cgLmhlbHAtcm93ID4gLmhlbHAtY29sdW1uLWhhbGYge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDUwJTtcbn1cbi5sYXlvdXQtZWRpdG9yLWhlbHAtZGlhbG9nIC5oZWxwLXJvdyA+IC5oZWxwLWNvbHVtbi1oYWxmOm50aC1jaGlsZCgybikge1xuICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICBjbGVhcjogbGVmdDtcbn1cbi5sYXlvdXQtZWRpdG9yLWhlbHAtZGlhbG9nIC5oZWxwLXJvdyArIC5oZWxwLXJvdyB7XG4gIG1hcmdpbi10b3A6IDFlbTtcbn1cbi5sYXlvdXQtZWRpdG9yLWhlbHAtZGlhbG9nIGNvZGUge1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmM2Y0ZjU7XG4gIHBhZGRpbmc6IDJweCA0cHg7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7XG59XG4ubGF5b3V0LWVkaXRvci1oZWxwLWRpYWxvZyBwIHtcbiAgbWFyZ2luLWJvdHRvbTogMC41ZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjZlbTtcbn1cbi5sYXlvdXQtZWRpdG9yLWhlbHAtZGlhbG9nIHRhYmxlID4gdGJvZHkgPiB0ciA+IHRkOmZpcnN0LWNoaWxkIHtcbiAgcGFkZGluZy1yaWdodDogMTBweDtcbn1cblxuLmxheW91dC1lZGl0b3IgLmxheW91dC1lbGVtZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHBhZGRpbmc6IDA7XG59XG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWVsZW1lbnQ6bm90KC5sYXlvdXQtY29sdW1uKSB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuLmxheW91dC1lZGl0b3IgLmxheW91dC1lbGVtZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgPiAubGF5b3V0LXBhbmVsIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBtYXJnaW46IDA7XG4gIHotaW5kZXg6IDIwO1xuICBoZWlnaHQ6IDI1cHg7XG4gIHBhZGRpbmc6IDAgNnB4O1xuICBsaXN0LXN0eWxlOiBub25lO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBsaW5lLWhlaWdodDogMjVweDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtZWxlbWVudCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyID4gLmxheW91dC1wYW5lbCA+IC5sYXlvdXQtcGFuZWwtaXRlbSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgaGVpZ2h0OiAyNXB4O1xuICBwYWRkaW5nOiAxcHggNnB4IDA7XG59XG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWVsZW1lbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciA+IC5sYXlvdXQtcGFuZWwgPiAubGF5b3V0LXBhbmVsLWxhYmVsIHtcbiAgZm9udC1zaXplOiAxM3B4O1xufVxuLmxheW91dC1lZGl0b3IgLmxheW91dC1lbGVtZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgPiAubGF5b3V0LXBhbmVsID4gLmxheW91dC1wYW5lbC1hY3Rpb24ge1xuICBkaXNwbGF5OiBub25lO1xuICB3aWR0aDogMjhweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWVsZW1lbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciA+IC5sYXlvdXQtcGFuZWwtbWFpbiB7XG4gIHRvcDogLTI3cHg7XG4gIGxlZnQ6IC0ycHg7XG59XG4ubGF5b3V0LWVkaXRvciBsaS5sYXlvdXQtZWxlbWVudCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG4ubGF5b3V0LWVkaXRvcjpub3QoLmxheW91dC1lZGl0b3ItZHJhZ2dpbmcpIC5sYXlvdXQtZWxlbWVudC1hY3RpdmUsXG4ubGF5b3V0LWVkaXRvcjpub3QoLmxheW91dC1lZGl0b3ItZHJhZ2dpbmcpIC5sYXlvdXQtZWxlbWVudC1mb2N1c2VkIHtcbiAgYm9yZGVyLXdpZHRoOiAycHg7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG59XG4ubGF5b3V0LWVkaXRvcjpub3QoLmxheW91dC1lZGl0b3ItZHJhZ2dpbmcpIC5sYXlvdXQtZWxlbWVudC1hY3RpdmUgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlcixcbi5sYXlvdXQtZWRpdG9yOm5vdCgubGF5b3V0LWVkaXRvci1kcmFnZ2luZykgLmxheW91dC1lbGVtZW50LWZvY3VzZWQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciB7XG4gIG1hcmdpbjogLTJweDtcbn1cbi5sYXlvdXQtZWRpdG9yOm5vdCgubGF5b3V0LWVkaXRvci1kcmFnZ2luZykgLmxheW91dC1lbGVtZW50LWFjdGl2ZSB7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgxMDQsIDEwNCwgMTA0LCAwLjEpO1xufVxuLmxheW91dC1lZGl0b3I6bm90KC5sYXlvdXQtZWRpdG9yLWRyYWdnaW5nKSAubGF5b3V0LWVsZW1lbnQtYWN0aXZlID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgPiAubGF5b3V0LXBhbmVsLW1haW4ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgei1pbmRleDogMzA7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTA0LCAxMDQsIDEwNCwgMC4xKTtcbn1cbi5sYXlvdXQtZWRpdG9yOm5vdCgubGF5b3V0LWVkaXRvci1kcmFnZ2luZykgLmxheW91dC1lbGVtZW50LWZvY3VzZWQge1xuICBib3JkZXItY29sb3I6ICM2NDg3MjE7XG59XG4ubGF5b3V0LWVkaXRvcjpub3QoLmxheW91dC1lZGl0b3ItZHJhZ2dpbmcpIC5sYXlvdXQtZWxlbWVudC1mb2N1c2VkID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgPiAubGF5b3V0LXBhbmVsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2NDg3MjE7XG4gIGNvbG9yOiAjZmVmZWZlO1xufVxuLmxheW91dC1lZGl0b3I6bm90KC5sYXlvdXQtZWRpdG9yLWRyYWdnaW5nKSAubGF5b3V0LWVsZW1lbnQtZm9jdXNlZCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyID4gLmxheW91dC1wYW5lbCA+IC5sYXlvdXQtcGFuZWwtYWN0aW9uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuLmxheW91dC1lZGl0b3I6bm90KC5sYXlvdXQtZWRpdG9yLWRyYWdnaW5nKSAubGF5b3V0LWVsZW1lbnQtZm9jdXNlZCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyID4gLmxheW91dC1wYW5lbCA+IC5sYXlvdXQtcGFuZWwtYWN0aW9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzgyYjAyYjtcbn1cbi5sYXlvdXQtZWRpdG9yOm5vdCgubGF5b3V0LWVkaXRvci1kcmFnZ2luZykgLmxheW91dC1lbGVtZW50LWZvY3VzZWQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciA+IC5sYXlvdXQtcGFuZWwgPiAubGF5b3V0LXBhbmVsLWFjdGlvbi5kaXNhYmxlZCB7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgY29sb3I6IHJnYmEoMjU0LCAyNTQsIDI1NCwgMC40KTtcbn1cbi5sYXlvdXQtZWRpdG9yOm5vdCgubGF5b3V0LWVkaXRvci1kcmFnZ2luZykgLmxheW91dC1lbGVtZW50LWZvY3VzZWQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciA+IC5sYXlvdXQtcGFuZWwgPiAubGF5b3V0LXBhbmVsLWFjdGlvbi5kaXNhYmxlZDpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2NDg3MjE7XG59XG4ubGF5b3V0LWVkaXRvcjpub3QoLmxheW91dC1lZGl0b3ItZHJhZ2dpbmcpIC5sYXlvdXQtZWxlbWVudC1mb2N1c2VkID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgPiAubGF5b3V0LXBhbmVsID4gLmxheW91dC1wYW5lbC1hY3Rpb24uYWN0aXZlIHtcbiAgY29sb3I6ICNkZWZmNDI7XG4gIGJhY2tncm91bmQtY29sb3I6ICM3MzliMjY7XG59XG4ubGF5b3V0LWVkaXRvcjpub3QoLmxheW91dC1lZGl0b3ItZHJhZ2dpbmcpIC5sYXlvdXQtZWxlbWVudC1mb2N1c2VkID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgPiAubGF5b3V0LXBhbmVsID4gLmxheW91dC1wYW5lbC1hY3Rpb24uYWN0aXZlOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzgyYjAyYjtcbn1cbi5sYXlvdXQtZWRpdG9yOm5vdCgubGF5b3V0LWVkaXRvci1kcmFnZ2luZykgLmxheW91dC1lbGVtZW50LXNlbGVjdGVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMDAsIDEzNSwgMzMsIDAuMDgpO1xufVxuLmxheW91dC1lZGl0b3IgLnVpLXNvcnRhYmxlLXBsYWNlaG9sZGVyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtZWxlbWVudC1kcm9wdGFyZ2V0IHtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDEycHggNnB4IHJnYmEoMTAwLCAxMzUsIDMzLCAwLjUpO1xufVxuLmxheW91dC1lZGl0b3IgLmxheW91dC1lbGVtZW50LWRyb3B0YXJnZXQgLnVpLXNvcnRhYmxlLXBsYWNlaG9sZGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgbWluLWhlaWdodDogNzhweDtcbiAgYm9yZGVyOiAycHggZGFzaGVkICM2NDg3MjEgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMDAsIDEzNSwgMzMsIDAuMTYpO1xufVxuLmxheW91dC1lZGl0b3IgLm1lZGlhLXRodW1ibmFpbCBpbWcge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG59XG5cbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtY29udGFpbmVyID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgPiAubGF5b3V0LWNvbnRhaW5lci1jaGlsZHJlbi1wbGFjZWhvbGRlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG1hcmdpbjogMTFweDtcbiAgbWluLWhlaWdodDogODBweDtcbiAgYm9yZGVyOiAxcHggZGFzaGVkIHJnYmEoMTI0LCAxMjQsIDEyNCwgMC40KTtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBwYWRkaW5nOiAxMnB4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIG9wYWNpdHk6IDAuNjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250YWluZXIgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciA+IC5sYXlvdXQtY2hpbGRyZW4ge1xuICBwYWRkaW5nOiAxMnB4O1xufVxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250YWluZXIgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciA+IC5sYXlvdXQtY2hpbGRyZW4gPiAubGF5b3V0LWVsZW1lbnQ6bm90KC5sYXlvdXQtY29udGFpbmVyKSArIC5sYXlvdXQtZWxlbWVudDpub3QoLmxheW91dC1jb250YWluZXIpIHtcbiAgbWFyZ2luLXRvcDogMTJweDtcbn1cbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtY29udGFpbmVyID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgPiAubGF5b3V0LWNoaWxkcmVuID4gLnVpLXNvcnRhYmxlLWhlbHBlcjpmaXJzdC1jaGlsZCArIC5sYXlvdXQtZWxlbWVudDpub3QoLmxheW91dC1jb250YWluZXIpIHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtY29udGFpbmVyID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIubGF5b3V0LWNvbnRhaW5lci1lbXB0eSA+IC5sYXlvdXQtY29udGFpbmVyLWNoaWxkcmVuLXBsYWNlaG9sZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbn1cbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtY29udGFpbmVyID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIubGF5b3V0LWNvbnRhaW5lci1lbXB0eSA+IC5sYXlvdXQtY2hpbGRyZW4ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbn1cbi5sYXlvdXQtZWRpdG9yOm5vdCgubGF5b3V0LWVkaXRvci1kcmFnZ2luZykgLmxheW91dC1jb250YWluZXIubGF5b3V0LWVsZW1lbnQtZm9jdXNlZCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyID4gLmxheW91dC1jaGlsZHJlbiA+IC5sYXlvdXQtZWxlbWVudDpub3QoLmxheW91dC1lbGVtZW50LWFjdGl2ZSkge1xuICBib3JkZXI6IDFweCBkYXNoZWQgcmdiYSgxMjQsIDEyNCwgMTI0LCAwLjYpO1xufVxuLmxheW91dC1lZGl0b3I6bm90KC5sYXlvdXQtZWRpdG9yLWRyYWdnaW5nKSAubGF5b3V0LWNvbnRhaW5lci5sYXlvdXQtZWxlbWVudC1mb2N1c2VkID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgPiAubGF5b3V0LWNoaWxkcmVuID4gLmxheW91dC1lbGVtZW50Om5vdCgubGF5b3V0LWVsZW1lbnQtYWN0aXZlKSA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIHtcbiAgbWFyZ2luOiAtMXB4O1xufVxuLmxheW91dC1lZGl0b3I6bm90KC5sYXlvdXQtZWRpdG9yLWRyYWdnaW5nKSAubGF5b3V0LWNvbnRhaW5lci5sYXlvdXQtZWxlbWVudC1mb2N1c2VkID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgPiAubGF5b3V0LWNoaWxkcmVuID4gLmxheW91dC1jb250YWluZXIgKyAubGF5b3V0LWNvbnRhaW5lcjpub3QoLmxheW91dC1lbGVtZW50LWFjdGl2ZSkge1xuICBib3JkZXItdG9wOiAwO1xufVxuLmxheW91dC1lZGl0b3I6bm90KC5sYXlvdXQtZWRpdG9yLWRyYWdnaW5nKSAubGF5b3V0LWNvbnRhaW5lci5sYXlvdXQtZWxlbWVudC1mb2N1c2VkID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgPiAubGF5b3V0LWNoaWxkcmVuID4gLmxheW91dC1jb250YWluZXIgKyAubGF5b3V0LWNvbnRhaW5lcjpub3QoLmxheW91dC1lbGVtZW50LWFjdGl2ZSkgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciB7XG4gIG1hcmdpbi10b3A6IDA7XG59XG5cbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtY2FudmFzICNkdW1teSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtcm93LmxheW91dC1lbGVtZW50LWZvY3VzZWQ6bm90KC5sYXlvdXQtZWxlbWVudC1kcm9wdGFyZ2V0KSA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyID4gLmxheW91dC1jaGlsZHJlbiA+IC5sYXlvdXQtZWxlbWVudDpub3QoLmxheW91dC1lbGVtZW50LWFjdGl2ZSkge1xuICBib3JkZXItdG9wOiAxcHggZGFzaGVkIHJnYmEoMTI0LCAxMjQsIDEyNCwgMC42KSAhaW1wb3J0YW50O1xufVxuLmxheW91dC1lZGl0b3IgLmxheW91dC1yb3cubGF5b3V0LWVsZW1lbnQtZm9jdXNlZDpub3QoLmxheW91dC1lbGVtZW50LWRyb3B0YXJnZXQpID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgPiAubGF5b3V0LWNoaWxkcmVuID4gLmxheW91dC1lbGVtZW50Om5vdCgubGF5b3V0LWVsZW1lbnQtYWN0aXZlKSA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIHtcbiAgbWFyZ2luLXRvcDogLTFweCAhaW1wb3J0YW50O1xufVxuLmxheW91dC1lZGl0b3IgLmxheW91dC1yb3cubGF5b3V0LWVsZW1lbnQtZm9jdXNlZDpub3QoLmxheW91dC1lbGVtZW50LWRyb3B0YXJnZXQpID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgPiAubGF5b3V0LWNoaWxkcmVuID4gLmxheW91dC1lbGVtZW50ICsgLmxheW91dC1lbGVtZW50Om5vdCgubGF5b3V0LWVsZW1lbnQtYWN0aXZlKSB7XG4gIGJvcmRlci1sZWZ0OiAwICFpbXBvcnRhbnQ7XG59XG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LXJvdy5sYXlvdXQtZWxlbWVudC1mb2N1c2VkOm5vdCgubGF5b3V0LWVsZW1lbnQtZHJvcHRhcmdldCkgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciA+IC5sYXlvdXQtY2hpbGRyZW4gPiAubGF5b3V0LWVsZW1lbnQgKyAubGF5b3V0LWVsZW1lbnQ6bm90KC5sYXlvdXQtZWxlbWVudC1hY3RpdmUpID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIge1xuICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xufVxuXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbHVtbiA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyID4gLmxheW91dC1jb2x1bW4tcmVzaXplLWJhciB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMzA7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDE2cHg7XG4gIGhlaWdodDogMTAwJTtcbiAgY3Vyc29yOiBjb2wtcmVzaXplO1xufVxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb2x1bW4gPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciA+IC5sYXlvdXQtY29sdW1uLXJlc2l6ZS1iYXItbGVmdCB7XG4gIGxlZnQ6IC02cHg7XG59XG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbHVtbiA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyID4gLmxheW91dC1jb2x1bW4tcmVzaXplLWJhci1yaWdodCB7XG4gIHJpZ2h0OiAtNnB4O1xufVxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb2x1bW4ubGF5b3V0LWVsZW1lbnQtZm9jdXNlZCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyID4gLmxheW91dC1jb2x1bW4tcmVzaXplLWJhciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwge1xuICBtaW4taGVpZ2h0OiAxZW07XG59XG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1odG1sID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCB7XG4gIHBhZGRpbmc6IDJweDtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAvKiB0aGlzIGNvbG9yIGlzIGp1c3QgYSBzdWdnZXN0aW9uIGFuZCBjYW4gYmUgY2hhbmdlZCBiYXNlZCBvbiBpbXBsZW1lbnRhdGlvbiBmZWVkYmFjayAqL1xuICAvKiB0aGlzIGFsc28gaGFzIGJpZGkgaW1wbGljYXRpb25zICovXG4gIC8qIHRoaXMgYWxzbyBoYXMgYmlkaSBpbXBsaWNhdGlvbnMgKi9cbiAgLyogTFRSLXNwZWNpZmljOiB1c2UgJ21hcmdpbi1yaWdodCcgZm9yIHJ0bCBlbGVtZW50cyAqL1xuICAvKiBMVFItc3BlY2lmaWM6IHVzZSAncGFkZGluZy1yaWdodCcgZm9yIHJ0bCBlbGVtZW50cyAqL1xuICAvKnRhYmxlW3J1bGVzPW5vbmUgaV0sIHRhYmxlW3J1bGVzPWdyb3VwcyBpXSwgdGFibGVbcnVsZXM9cm93cyBpXSxcbnRhYmxlW3J1bGVzPWNvbHMgaV0sIHRhYmxlW3J1bGVzPWFsbCBpXSwgdGFibGVbZnJhbWU9dm9pZCBpXSxcbnRhYmxlW2ZyYW1lPWFib3ZlIGldLCB0YWJsZVtmcmFtZT1iZWxvdyBpXSwgdGFibGVbZnJhbWU9aHNpZGVzIGldLFxudGFibGVbZnJhbWU9bGhzIGldLCB0YWJsZVtmcmFtZT1yaHMgaV0sIHRhYmxlW2ZyYW1lPXZzaWRlcyBpXSxcbnRhYmxlW2ZyYW1lPWJveCBpXSwgdGFibGVbZnJhbWU9Ym9yZGVyIGldLFxudGFibGVbcnVsZXM9bm9uZSBpXSA+IHRyID4gdGQsIHRhYmxlW3J1bGVzPW5vbmUgaV0gPiB0ciA+IHRoLFxudGFibGVbcnVsZXM9Z3JvdXBzIGldID4gdHIgPiB0ZCwgdGFibGVbcnVsZXM9Z3JvdXBzIGldID4gdHIgPiB0aCxcbnRhYmxlW3J1bGVzPXJvd3MgaV0gPiB0ciA+IHRkLCB0YWJsZVtydWxlcz1yb3dzIGldID4gdHIgPiB0aCxcbnRhYmxlW3J1bGVzPWNvbHMgaV0gPiB0ciA+IHRkLCB0YWJsZVtydWxlcz1jb2xzIGldID4gdHIgPiB0aCxcbnRhYmxlW3J1bGVzPWFsbCBpXSA+IHRyID4gdGQsIHRhYmxlW3J1bGVzPWFsbCBpXSA+IHRyID4gdGgsXG50YWJsZVtydWxlcz1ub25lIGldID4gdGhlYWQgPiB0ciA+IHRkLCB0YWJsZVtydWxlcz1ub25lIGldID4gdGhlYWQgPiB0ciA+IHRoLFxudGFibGVbcnVsZXM9Z3JvdXBzIGldID4gdGhlYWQgPiB0ciA+IHRkLCB0YWJsZVtydWxlcz1ncm91cHMgaV0gPiB0aGVhZCA+IHRyID4gdGgsXG50YWJsZVtydWxlcz1yb3dzIGldID4gdGhlYWQgPiB0ciA+IHRkLCB0YWJsZVtydWxlcz1yb3dzIGldID4gdGhlYWQgPiB0ciA+IHRoLFxudGFibGVbcnVsZXM9Y29scyBpXSA+IHRoZWFkID4gdHIgPiB0ZCwgdGFibGVbcnVsZXM9Y29scyBpXSA+IHRoZWFkID4gdHIgPiB0aCxcbnRhYmxlW3J1bGVzPWFsbCBpXSA+IHRoZWFkID4gdHIgPiB0ZCwgdGFibGVbcnVsZXM9YWxsIGldID4gdGhlYWQgPiB0ciA+IHRoLFxudGFibGVbcnVsZXM9bm9uZSBpXSA+IHRib2R5ID4gdHIgPiB0ZCwgdGFibGVbcnVsZXM9bm9uZSBpXSA+IHRib2R5ID4gdHIgPiB0aCxcbnRhYmxlW3J1bGVzPWdyb3VwcyBpXSA+IHRib2R5ID4gdHIgPiB0ZCwgdGFibGVbcnVsZXM9Z3JvdXBzIGldID4gdGJvZHkgPiB0ciA+IHRoLFxudGFibGVbcnVsZXM9cm93cyBpXSA+IHRib2R5ID4gdHIgPiB0ZCwgdGFibGVbcnVsZXM9cm93cyBpXSA+IHRib2R5ID4gdHIgPiB0aCxcbnRhYmxlW3J1bGVzPWNvbHMgaV0gPiB0Ym9keSA+IHRyID4gdGQsIHRhYmxlW3J1bGVzPWNvbHMgaV0gPiB0Ym9keSA+IHRyID4gdGgsXG50YWJsZVtydWxlcz1hbGwgaV0gPiB0Ym9keSA+IHRyID4gdGQsIHRhYmxlW3J1bGVzPWFsbCBpXSA+IHRib2R5ID4gdHIgPiB0aCxcbnRhYmxlW3J1bGVzPW5vbmUgaV0gPiB0Zm9vdCA+IHRyID4gdGQsIHRhYmxlW3J1bGVzPW5vbmUgaV0gPiB0Zm9vdCA+IHRyID4gdGgsXG50YWJsZVtydWxlcz1ncm91cHMgaV0gPiB0Zm9vdCA+IHRyID4gdGQsIHRhYmxlW3J1bGVzPWdyb3VwcyBpXSA+IHRmb290ID4gdHIgPiB0aCxcbnRhYmxlW3J1bGVzPXJvd3MgaV0gPiB0Zm9vdCA+IHRyID4gdGQsIHRhYmxlW3J1bGVzPXJvd3MgaV0gPiB0Zm9vdCA+IHRyID4gdGgsXG50YWJsZVtydWxlcz1jb2xzIGldID4gdGZvb3QgPiB0ciA+IHRkLCB0YWJsZVtydWxlcz1jb2xzIGldID4gdGZvb3QgPiB0ciA+IHRoLFxudGFibGVbcnVsZXM9YWxsIGldID4gdGZvb3QgPiB0ciA+IHRkLCB0YWJsZVtydWxlcz1hbGwgaV0gPiB0Zm9vdCA+IHRyID4gdGgge1xuICAgIGJvcmRlci1jb2xvcjogYmxhY2s7XG59Ki9cbn1cbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtY29udGVudCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgKixcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtaHRtbCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgKiB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG59XG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIGFkZHJlc3MsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIGFkZHJlc3MsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIGJsb2NrcXVvdGUsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIGJsb2NrcXVvdGUsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIGNlbnRlcixcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtaHRtbCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgY2VudGVyLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBkaXYsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIGRpdixcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtY29udGVudCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgZmlndXJlLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1odG1sID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBmaWd1cmUsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIGZpZ2NhcHRpb24sXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIGZpZ2NhcHRpb24sXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIGZvb3Rlcixcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtaHRtbCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgZm9vdGVyLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBmb3JtLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1odG1sID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBmb3JtLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBoZWFkZXIsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIGhlYWRlcixcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtY29udGVudCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgaHIsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIGhyLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBsZWdlbmQsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIGxlZ2VuZCxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtY29udGVudCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgbGlzdGluZyxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtaHRtbCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgbGlzdGluZyxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtY29udGVudCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgcCxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtaHRtbCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgcCxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtY29udGVudCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgcGxhaW50ZXh0LFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1odG1sID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBwbGFpbnRleHQsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIHByZSxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtaHRtbCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgcHJlLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCB4bXAsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIHhtcCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBibG9ja3F1b3RlLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1odG1sID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBibG9ja3F1b3RlLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBmaWd1cmUsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIGZpZ3VyZSxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtY29udGVudCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgbGlzdGluZyxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtaHRtbCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgbGlzdGluZyxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtY29udGVudCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgcCxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtaHRtbCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgcCxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtY29udGVudCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgcGxhaW50ZXh0LFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1odG1sID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBwbGFpbnRleHQsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIHByZSxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtaHRtbCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgcHJlLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCB4bXAsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIHhtcCB7XG4gIG1hcmdpbi10b3A6IDFlbTtcbiAgbWFyZ2luLWJvdHRvbTogMWVtO1xufVxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBibG9ja3F1b3RlLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1odG1sID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBibG9ja3F1b3RlLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBmaWd1cmUsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIGZpZ3VyZSB7XG4gIG1hcmdpbi1sZWZ0OiA0MHB4O1xuICBtYXJnaW4tcmlnaHQ6IDQwcHg7XG59XG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIGFkZHJlc3MsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIGFkZHJlc3Mge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIGxpc3RpbmcsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIGxpc3RpbmcsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIHBsYWludGV4dCxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtaHRtbCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgcGxhaW50ZXh0LFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBwcmUsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIHByZSxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtY29udGVudCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgeG1wLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1odG1sID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCB4bXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlO1xuICB3aGl0ZS1zcGFjZTogcHJlO1xufVxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBjaXRlLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1odG1sID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBjaXRlLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBkZm4sXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIGRmbixcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtY29udGVudCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgZW0sXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIGVtLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBpLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1odG1sID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBpLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCB2YXIsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIHZhciB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtY29udGVudCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgYixcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtaHRtbCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgYixcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtY29udGVudCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgc3Ryb25nLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1odG1sID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBzdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZGVyO1xufVxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBjb2RlLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1odG1sID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBjb2RlLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBrYmQsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIGtiZCxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtY29udGVudCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgc2FtcCxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtaHRtbCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgc2FtcCxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtY29udGVudCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgdHQsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIHR0IHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTtcbn1cbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtY29udGVudCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgYmlnLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1odG1sID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBiaWcge1xuICBmb250LXNpemU6IGxhcmdlcjtcbn1cbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtY29udGVudCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgc21hbGwsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIHNtYWxsIHtcbiAgZm9udC1zaXplOiBzbWFsbGVyO1xufVxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBzdWIsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIHN1YiB7XG4gIHZlcnRpY2FsLWFsaWduOiBzdWI7XG59XG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIHN1cCxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtaHRtbCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgc3VwIHtcbiAgdmVydGljYWwtYWxpZ246IHN1cGVyO1xufVxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBzdWIsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIHN1Yixcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtY29udGVudCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgc3VwLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1odG1sID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBzdXAge1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICBmb250LXNpemU6IHNtYWxsZXI7XG59XG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIHJ1YnksXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIHJ1Ynkge1xuICBkaXNwbGF5OiBydWJ5O1xufVxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCByYixcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtaHRtbCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgcmIge1xuICBkaXNwbGF5OiBydWJ5LWJhc2U7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIHJ0LFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1odG1sID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBydCB7XG4gIGRpc3BsYXk6IHJ1YnktdGV4dDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgZm9udC1zaXplOiA1MCU7XG4gIGZvbnQtdmFyaWFudC1lYXN0LWFzaWFuOiBydWJ5O1xuICB0ZXh0LWVtcGhhc2lzOiBub25lO1xufVxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCByYmMsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIHJiYyB7XG4gIGRpc3BsYXk6IHJ1YnktYmFzZS1jb250YWluZXI7XG59XG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIHJ0Yyxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtaHRtbCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgcnRjIHtcbiAgZGlzcGxheTogcnVieS10ZXh0LWNvbnRhaW5lcjtcbn1cbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtY29udGVudCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgcnVieSxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtaHRtbCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgcnVieSxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtY29udGVudCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgcmIsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIHJiLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBydCxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtaHRtbCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgcnQsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIHJiYyxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtaHRtbCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgcmJjLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBydGMsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIHJ0YyB7XG4gIHVuaWNvZGUtYmlkaTogaXNvbGF0ZTtcbn1cbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtY29udGVudCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgOmxpbmssXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIDpsaW5rIHtcbiAgY29sb3I6ICMwMDAwRUU7XG59XG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIDp2aXNpdGVkLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1odG1sID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCA6dmlzaXRlZCB7XG4gIGNvbG9yOiAjNTUxQThCO1xufVxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCA6bGluayxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtaHRtbCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgOmxpbmssXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIDp2aXNpdGVkLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1odG1sID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCA6dmlzaXRlZCB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBhOmxpbmtbcmVsfj1oZWxwXSxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtaHRtbCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgYTpsaW5rW3JlbH49aGVscF0sXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIGE6dmlzaXRlZFtyZWx+PWhlbHBdLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1odG1sID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBhOnZpc2l0ZWRbcmVsfj1oZWxwXSxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtY29udGVudCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgYXJlYTpsaW5rW3JlbH49aGVscF0sXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIGFyZWE6bGlua1tyZWx+PWhlbHBdLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBhcmVhOnZpc2l0ZWRbcmVsfj1oZWxwXSxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtaHRtbCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgYXJlYTp2aXNpdGVkW3JlbH49aGVscF0ge1xuICBjdXJzb3I6IGhlbHA7XG59XG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIDpmb2N1cyxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtaHRtbCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgOmZvY3VzIHtcbiAgb3V0bGluZTogYXV0bztcbn1cbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtY29udGVudCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgbWFyayxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtaHRtbCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgbWFyayB7XG4gIGJhY2tncm91bmQ6IHllbGxvdztcbiAgY29sb3I6IGJsYWNrO1xufVxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBhYmJyW3RpdGxlXSxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtaHRtbCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgYWJiclt0aXRsZV0sXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIGFjcm9ueW1bdGl0bGVdLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1odG1sID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBhY3JvbnltW3RpdGxlXSB7XG4gIHRleHQtZGVjb3JhdGlvbjogZG90dGVkIHVuZGVybGluZTtcbn1cbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtY29udGVudCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgaW5zLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1odG1sID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBpbnMsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIHUsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIHUge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtY29udGVudCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgZGVsLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1odG1sID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBkZWwsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIHMsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIHMsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIHN0cmlrZSxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtaHRtbCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgc3RyaWtlIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7XG59XG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIGJsaW5rLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1odG1sID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBibGluayB7XG4gIHRleHQtZGVjb3JhdGlvbjogYmxpbms7XG59XG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIHE6OmJlZm9yZSxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtaHRtbCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgcTo6YmVmb3JlIHtcbiAgY29udGVudDogb3Blbi1xdW90ZTtcbn1cbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtY29udGVudCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgcTo6YWZ0ZXIsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIHE6OmFmdGVyIHtcbiAgY29udGVudDogY2xvc2UtcXVvdGU7XG59XG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIGJyOjpiZWZvcmUsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIGJyOjpiZWZvcmUge1xuICBjb250ZW50OiAnXFxBJztcbiAgd2hpdGUtc3BhY2U6IHByZTtcbn1cbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtY29udGVudCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgbm9icixcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtaHRtbCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgbm9iciB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIHdicixcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtaHRtbCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgd2JyIHtcbiAgY29udGVudDogJ1xcMjAwQic7XG59XG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIG5vYnIgd2JyLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1odG1sID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBub2JyIHdiciB7XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG59XG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIGFydGljbGUsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIGFydGljbGUsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIGFzaWRlLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1odG1sID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBhc2lkZSxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtY29udGVudCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgaDEsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIGgxLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBoMixcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtaHRtbCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgaDIsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIGgzLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1odG1sID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBoMyxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtY29udGVudCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgaDQsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIGg0LFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBoNSxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtaHRtbCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgaDUsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIGg2LFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1odG1sID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBoNixcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtY29udGVudCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgaGdyb3VwLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1odG1sID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBoZ3JvdXAsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIG5hdixcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtaHRtbCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgbmF2LFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBzZWN0aW9uLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1odG1sID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBzZWN0aW9uIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIGgxLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1odG1sID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBoMSB7XG4gIG1hcmdpbi10b3A6IDAuNjdlbTtcbiAgbWFyZ2luLWJvdHRvbTogMC42N2VtO1xuICBmb250LXNpemU6IDIuMDBlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIGgyLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1odG1sID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBoMiB7XG4gIG1hcmdpbi10b3A6IDAuODNlbTtcbiAgbWFyZ2luLWJvdHRvbTogMC44M2VtO1xuICBmb250LXNpemU6IDEuNTBlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIGgzLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1odG1sID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBoMyB7XG4gIG1hcmdpbi10b3A6IDEuMDBlbTtcbiAgbWFyZ2luLWJvdHRvbTogMS4wMGVtO1xuICBmb250LXNpemU6IDEuMTdlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIGg0LFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1odG1sID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBoNCB7XG4gIG1hcmdpbi10b3A6IDEuMzNlbTtcbiAgbWFyZ2luLWJvdHRvbTogMS4zM2VtO1xuICBmb250LXNpemU6IDEuMDBlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIGg1LFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1odG1sID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBoNSB7XG4gIG1hcmdpbi10b3A6IDEuNjdlbTtcbiAgbWFyZ2luLWJvdHRvbTogMS42N2VtO1xuICBmb250LXNpemU6IDAuODNlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIGg2LFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1odG1sID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBoNiB7XG4gIG1hcmdpbi10b3A6IDIuMzNlbTtcbiAgbWFyZ2luLWJvdHRvbTogMi4zM2VtO1xuICBmb250LXNpemU6IDAuNjdlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIGRpcixcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtaHRtbCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgZGlyLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBkZCxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtaHRtbCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgZGQsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIGRsLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1odG1sID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBkbCxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtY29udGVudCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgZHQsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIGR0LFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBvbCxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtaHRtbCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgb2wsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIHVsLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1odG1sID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCB1bCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBsaSxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtaHRtbCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgbGkge1xuICBkaXNwbGF5OiBsaXN0LWl0ZW07XG59XG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIGRpcixcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtaHRtbCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgZGlyLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBkbCxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtaHRtbCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgZGwsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIG9sLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1odG1sID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBvbCxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtY29udGVudCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgdWwsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIHVsIHtcbiAgbWFyZ2luLXRvcDogMWVtO1xuICBtYXJnaW4tYm90dG9tOiAxZW07XG59XG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIGRpciBkaXIsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIGRpciBkaXIsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIGRpciBkbCxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtaHRtbCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgZGlyIGRsLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBkaXIgb2wsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIGRpciBvbCxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtY29udGVudCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgZGlyIHVsLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1odG1sID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBkaXIgdWwsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIGRsIGRpcixcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtaHRtbCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgZGwgZGlyLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBkbCBkbCxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtaHRtbCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgZGwgZGwsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIGRsIG9sLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1odG1sID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBkbCBvbCxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtY29udGVudCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgZGwgdWwsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIGRsIHVsLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBvbCBkaXIsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIG9sIGRpcixcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtY29udGVudCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgb2wgZGwsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIG9sIGRsLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBvbCBvbCxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtaHRtbCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgb2wgb2wsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIG9sIHVsLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1odG1sID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBvbCB1bCxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtY29udGVudCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgdWwgZGlyLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1odG1sID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCB1bCBkaXIsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIHVsIGRsLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1odG1sID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCB1bCBkbCxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtY29udGVudCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgdWwgb2wsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIHVsIG9sLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCB1bCB1bCxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtaHRtbCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgdWwgdWwge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBkZCxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtaHRtbCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgZGQge1xuICBtYXJnaW4tbGVmdDogNDBweDtcbn1cbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtY29udGVudCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgZGlyLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1odG1sID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBkaXIsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIG9sLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1odG1sID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBvbCxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtY29udGVudCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgdWwsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIHVsIHtcbiAgcGFkZGluZy1sZWZ0OiA0MHB4O1xufVxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBvbCxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtaHRtbCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgb2wge1xuICBsaXN0LXN0eWxlLXR5cGU6IGRlY2ltYWw7XG59XG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIGRpcixcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtaHRtbCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgZGlyLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCB1bCxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtaHRtbCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgdWwge1xuICBsaXN0LXN0eWxlLXR5cGU6IGRpc2M7XG59XG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIGRpciBkaXIsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIGRpciBkaXIsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIGRpciB1bCxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtaHRtbCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgZGlyIHVsLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBvbCBkaXIsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIG9sIGRpcixcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtY29udGVudCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgb2wgdWwsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIG9sIHVsLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCB1bCBkaXIsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIHVsIGRpcixcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtY29udGVudCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgdWwgdWwsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIHVsIHVsIHtcbiAgbGlzdC1zdHlsZS10eXBlOiBjaXJjbGU7XG59XG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIGRpciBkaXIgZGlyLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1odG1sID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBkaXIgZGlyIGRpcixcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtY29udGVudCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgZGlyIGRpciB1bCxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtaHRtbCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgZGlyIGRpciB1bCxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtY29udGVudCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgZGlyIG9sIGRpcixcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtaHRtbCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgZGlyIG9sIGRpcixcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtY29udGVudCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgZGlyIG9sIHVsLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1odG1sID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBkaXIgb2wgdWwsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIGRpciB1bCBkaXIsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIGRpciB1bCBkaXIsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIGRpciB1bCB1bCxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtaHRtbCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgZGlyIHVsIHVsLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBvbCBkaXIgZGlyLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1odG1sID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBvbCBkaXIgZGlyLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBvbCBkaXIgdWwsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIG9sIGRpciB1bCxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtY29udGVudCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgb2wgb2wgZGlyLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1odG1sID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBvbCBvbCBkaXIsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIG9sIG9sIHVsLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1odG1sID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBvbCBvbCB1bCxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtY29udGVudCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgb2wgdWwgZGlyLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1odG1sID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBvbCB1bCBkaXIsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIG9sIHVsIHVsLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1odG1sID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBvbCB1bCB1bCxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtY29udGVudCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgdWwgZGlyIGRpcixcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtaHRtbCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgdWwgZGlyIGRpcixcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtY29udGVudCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgdWwgZGlyIHVsLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1odG1sID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCB1bCBkaXIgdWwsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIHVsIG9sIGRpcixcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtaHRtbCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgdWwgb2wgZGlyLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCB1bCBvbCB1bCxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtaHRtbCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgdWwgb2wgdWwsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIHVsIHVsIGRpcixcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtaHRtbCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgdWwgdWwgZGlyLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCB1bCB1bCB1bCxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtaHRtbCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgdWwgdWwgdWwge1xuICBsaXN0LXN0eWxlLXR5cGU6IHNxdWFyZTtcbn1cbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtY29udGVudCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgdGFibGUsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIHRhYmxlIHtcbiAgZGlzcGxheTogdGFibGU7XG59XG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIGNhcHRpb24sXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIGNhcHRpb24ge1xuICBkaXNwbGF5OiB0YWJsZS1jYXB0aW9uO1xufVxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBjb2xncm91cCxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtaHRtbCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgY29sZ3JvdXAsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIGNvbGdyb3VwW2hpZGRlbl0sXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIGNvbGdyb3VwW2hpZGRlbl0ge1xuICBkaXNwbGF5OiB0YWJsZS1jb2x1bW4tZ3JvdXA7XG59XG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIGNvbCxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtaHRtbCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgY29sLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBjb2xbaGlkZGVuXSxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtaHRtbCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgY29sW2hpZGRlbl0ge1xuICBkaXNwbGF5OiB0YWJsZS1jb2x1bW47XG59XG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIHRoZWFkLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1odG1sID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCB0aGVhZCxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtY29udGVudCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgdGhlYWRbaGlkZGVuXSxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtaHRtbCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgdGhlYWRbaGlkZGVuXSB7XG4gIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDtcbn1cbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtY29udGVudCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgdGJvZHksXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIHRib2R5LFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCB0Ym9keVtoaWRkZW5dLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1odG1sID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCB0Ym9keVtoaWRkZW5dIHtcbiAgZGlzcGxheTogdGFibGUtcm93LWdyb3VwO1xufVxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCB0Zm9vdCxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtaHRtbCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgdGZvb3QsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIHRmb290W2hpZGRlbl0sXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIHRmb290W2hpZGRlbl0ge1xuICBkaXNwbGF5OiB0YWJsZS1mb290ZXItZ3JvdXA7XG59XG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIHRyLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1odG1sID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCB0cixcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtY29udGVudCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgdHJbaGlkZGVuXSxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtaHRtbCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgdHJbaGlkZGVuXSB7XG4gIGRpc3BsYXk6IHRhYmxlLXJvdztcbn1cbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtY29udGVudCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgdGQsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIHRkLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCB0aCxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtaHRtbCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgdGgsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIHRkW2hpZGRlbl0sXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIHRkW2hpZGRlbl0sXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIHRoW2hpZGRlbl0sXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIHRoW2hpZGRlbl0ge1xuICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xufVxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBjb2xncm91cFtoaWRkZW5dLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1odG1sID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBjb2xncm91cFtoaWRkZW5dLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBjb2xbaGlkZGVuXSxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtaHRtbCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgY29sW2hpZGRlbl0sXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIHRoZWFkW2hpZGRlbl0sXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIHRoZWFkW2hpZGRlbl0sXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIHRib2R5W2hpZGRlbl0sXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIHRib2R5W2hpZGRlbl0sXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIHRmb290W2hpZGRlbl0sXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIHRmb290W2hpZGRlbl0sXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIHRyW2hpZGRlbl0sXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIHRyW2hpZGRlbl0sXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIHRkW2hpZGRlbl0sXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIHRkW2hpZGRlbl0sXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIHRoW2hpZGRlbl0sXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIHRoW2hpZGRlbl0ge1xuICB2aXNpYmlsaXR5OiBjb2xsYXBzZTtcbn1cbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtY29udGVudCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgdGFibGUsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIHRhYmxlIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgYm9yZGVyLXNwYWNpbmc6IDJweDtcbiAgYm9yZGVyLWNvbGxhcHNlOiBzZXBhcmF0ZTtcbiAgdGV4dC1pbmRlbnQ6IGluaXRpYWw7XG59XG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIHRkLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1odG1sID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCB0ZCxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtY29udGVudCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgdGgsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIHRoIHtcbiAgcGFkZGluZzogMXB4O1xufVxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCB0aCxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtaHRtbCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgdGgge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtY29udGVudCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgdGhlYWQsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIHRoZWFkLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCB0Ym9keSxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtaHRtbCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgdGJvZHksXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIHRmb290LFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1odG1sID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCB0Zm9vdCxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtY29udGVudCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgdGFibGUgPiB0cixcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtaHRtbCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgdGFibGUgPiB0ciB7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIHRyLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1odG1sID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCB0cixcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtY29udGVudCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgdGQsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIHRkLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCB0aCxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtaHRtbCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgdGgge1xuICB2ZXJ0aWNhbC1hbGlnbjogaW5oZXJpdDtcbn1cbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtY29udGVudCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgdGFibGUsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIHRhYmxlLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCB0ZCxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtaHRtbCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgdGQsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIHRoLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1odG1sID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCB0aCB7XG4gIGJvcmRlci1jb2xvcjogZ3JheTtcbn1cbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtY29udGVudCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgdGhlYWQsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIHRoZWFkLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCB0Ym9keSxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtaHRtbCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgdGJvZHksXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIHRmb290LFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1odG1sID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCB0Zm9vdCxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtY29udGVudCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgdHIsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIHRyIHtcbiAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xufVxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBpbnB1dCxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtaHRtbCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgaW5wdXQsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIHNlbGVjdCxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtaHRtbCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgc2VsZWN0LFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBvcHRpb24sXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIG9wdGlvbixcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtY29udGVudCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgb3B0Z3JvdXAsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIG9wdGdyb3VwLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBidXR0b24sXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIGJ1dHRvbixcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtY29udGVudCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgdGV4dGFyZWEsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIHRleHRhcmVhLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBrZXlnZW4sXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIGtleWdlbiB7XG4gIHRleHQtaW5kZW50OiBpbml0aWFsO1xufVxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCB0ZXh0YXJlYSxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtaHRtbCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgdGV4dGFyZWEge1xuICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7XG59XG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIGlucHV0W3R5cGU9XCJyYWRpb1wiXSxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtaHRtbCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgaW5wdXRbdHlwZT1cInJhZGlvXCJdLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtY29udGVudCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgaW5wdXRbdHlwZT1cInJlc2V0XCJdLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1odG1sID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBpbnB1dFt0eXBlPVwicmVzZXRcIl0sXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIGlucHV0W3R5cGU9XCJidXR0b25cIl0sXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIGlucHV0W3R5cGU9XCJidXR0b25cIl0sXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0sXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0sXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIHNlbGVjdCxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtaHRtbCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgc2VsZWN0LFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBidXR0b24sXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIGJ1dHRvbiB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIGlucHV0W3R5cGU9XCJidXR0b25cIl0sXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIGlucHV0W3R5cGU9XCJidXR0b25cIl0sXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIGJ1dHRvbixcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtaHRtbCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgYnV0dG9uIHtcbiAgcGFkZGluZzogMC4zZW0gMC41ZW07XG59XG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIGhyLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1odG1sID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBociB7XG4gIGNvbG9yOiBncmF5O1xuICBib3JkZXItc3R5bGU6IGluc2V0O1xuICBib3JkZXItd2lkdGg6IDFweDtcbiAgbWFyZ2luOiAwLjVlbSBhdXRvO1xufVxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBmaWVsZHNldCxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtaHRtbCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgZmllbGRzZXQge1xuICBtYXJnaW4tbGVmdDogMnB4O1xuICBtYXJnaW4tcmlnaHQ6IDJweDtcbiAgYm9yZGVyOiBncm9vdmUgMnB4IFRocmVlREZhY2U7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjYyNWVtIDAuNzVlbTtcbn1cbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtY29udGVudCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgbGVnZW5kLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1odG1sID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBsZWdlbmQge1xuICBwYWRkaW5nLWxlZnQ6IDJweDtcbiAgcGFkZGluZy1yaWdodDogMnB4O1xufVxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCA+ICo6Zmlyc3QtY2hpbGQsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwID4gKjpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbn1cbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtY29udGVudCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgPiAqOmxhc3QtY2hpbGQsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwID4gKjpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xufVxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50LmxheW91dC1jb250ZW50LWltYWdlID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgPiAubGF5b3V0LWNvbnRlbnQtbWFya3VwID4gaW1nLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1odG1sLmxheW91dC1jb250ZW50LWltYWdlID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgPiAubGF5b3V0LWNvbnRlbnQtbWFya3VwID4gaW1nLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50LmxheW91dC1jb250ZW50LXZlY3Rvci1pbWFnZSA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyID4gLmxheW91dC1jb250ZW50LW1hcmt1cCA+IGltZyxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtaHRtbC5sYXlvdXQtY29udGVudC12ZWN0b3ItaW1hZ2UgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciA+IC5sYXlvdXQtY29udGVudC1tYXJrdXAgPiBpbWcge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuLmxheW91dC1lZGl0b3IgLmltZy1yZXNwb25zaXZlLFxuLmxheW91dC1lZGl0b3IgLmltZy1yZXNwb25zaXZlIGltZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbmJvZHkgLmxheW91dC10b29sYm94LWl0ZW0ge1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTRlNWU2O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBwYWRkaW5nOiA5cHggMTJweDtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG59XG5ib2R5IC5sYXlvdXQtdG9vbGJveC1pdGVtIGkge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAxNnB4O1xuICBmb250OiBub3JtYWwgbm9ybWFsIG5vcm1hbCAxNHB4LzEgRm9udEF3ZXNvbWU7XG59XG5ib2R5IC5sYXlvdXQtdG9vbGJveC1pdGVtICsgLmxheW91dC10b29sYm94LWl0ZW0ge1xuICBtYXJnaW4tdG9wOiA0cHg7XG59XG4ubGF5b3V0LWVkaXRvciA+IC5sYXlvdXQtdG9vbGJveC13cmFwcGVyIHtcbiAgcG9zaXRpb246IHN0aWNreTtcbiAgdG9wOiAxdmg7XG4gIHBhZGRpbmctbGVmdDogMTJweDtcbiAgd2lkdGg6IDIyMHB4O1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBzY3JvbGxiYXItd2lkdGg6IHRoaW47XG4gIG1pbi1oZWlnaHQ6IDQwMHB4O1xuICBtYXgtaGVpZ2h0OiA5OHZoO1xuICBoZWlnaHQ6IDEwMCU7XG59XG4ubGF5b3V0LWVkaXRvciA+IC5sYXlvdXQtdG9vbGJveC13cmFwcGVyID4gLmxheW91dC10b29sYm94IHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2U0ZTVlNjtcbiAgcGFkZGluZzogNnB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjNmNGY1O1xufVxuLmxheW91dC1lZGl0b3IgPiAubGF5b3V0LXRvb2xib3gtd3JhcHBlciA+IC5sYXlvdXQtdG9vbGJveCAubGF5b3V0LXRvb2xib3gtZ3JvdXAgLmxheW91dC10b29sYm94LWdyb3VwLWhlYWRpbmcge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogNHB4O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG4ubGF5b3V0LWVkaXRvciA+IC5sYXlvdXQtdG9vbGJveC13cmFwcGVyID4gLmxheW91dC10b29sYm94IC5sYXlvdXQtdG9vbGJveC1ncm91cCAubGF5b3V0LXRvb2xib3gtZ3JvdXAtaGVhZGluZzpiZWZvcmUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAxMHB4O1xuICBtYXJnaW4tcmlnaHQ6IDRweDtcbiAgZm9udDogbm9ybWFsIG5vcm1hbCBub3JtYWwgMTRweC8xIEZvbnRBd2Vzb21lO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGNvbnRlbnQ6IFwiXFxmMGQ3XCI7XG59XG4ubGF5b3V0LWVkaXRvciA+IC5sYXlvdXQtdG9vbGJveC13cmFwcGVyID4gLmxheW91dC10b29sYm94IC5sYXlvdXQtdG9vbGJveC1ncm91cC5jb2xsYXBzZWQgLmxheW91dC10b29sYm94LWdyb3VwLWhlYWRpbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZGFcIjtcbn1cbi5sYXlvdXQtZWRpdG9yID4gLmxheW91dC10b29sYm94LXdyYXBwZXIgPiAubGF5b3V0LXRvb2xib3ggLmxheW91dC10b29sYm94LWdyb3VwLmNvbGxhcHNlZCAubGF5b3V0LXRvb2xib3gtaXRlbXMge1xuICBkaXNwbGF5OiBub25lO1xufVxuLmxheW91dC1lZGl0b3IgPiAubGF5b3V0LXRvb2xib3gtd3JhcHBlciA+IC5sYXlvdXQtdG9vbGJveCAubGF5b3V0LXRvb2xib3gtZ3JvdXAgLmxheW91dC10b29sYm94LXNlY3Rpb24gKyAubGF5b3V0LXRvb2xib3gtc2VjdGlvbiB7XG4gIG1hcmdpbi10b3A6IDRweDtcbn1cbi5sYXlvdXQtZWRpdG9yID4gLmxheW91dC10b29sYm94LXdyYXBwZXIgPiAubGF5b3V0LXRvb2xib3ggLmxheW91dC10b29sYm94LWdyb3VwIC5sYXlvdXQtdG9vbGJveC1pdGVtIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2U0ZTVlNjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgcGFkZGluZzogOXB4IDEycHg7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cbi5sYXlvdXQtZWRpdG9yID4gLmxheW91dC10b29sYm94LXdyYXBwZXIgPiAubGF5b3V0LXRvb2xib3ggLmxheW91dC10b29sYm94LWdyb3VwIC5sYXlvdXQtdG9vbGJveC1pdGVtIGkge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAxNnB4O1xuICBmb250OiBub3JtYWwgbm9ybWFsIG5vcm1hbCAxNHB4LzEgRm9udEF3ZXNvbWU7XG59XG4ubGF5b3V0LWVkaXRvciA+IC5sYXlvdXQtdG9vbGJveC13cmFwcGVyID4gLmxheW91dC10b29sYm94IC5sYXlvdXQtdG9vbGJveC1ncm91cCAubGF5b3V0LXRvb2xib3gtaXRlbSArIC5sYXlvdXQtdG9vbGJveC1pdGVtIHtcbiAgbWFyZ2luLXRvcDogNHB4O1xufVxuLmxheW91dC1lZGl0b3IgPiAubGF5b3V0LXRvb2xib3gtd3JhcHBlciA+IC5sYXlvdXQtdG9vbGJveCAubGF5b3V0LXRvb2xib3gtZ3JvdXAgKyAubGF5b3V0LXRvb2xib3gtZ3JvdXAge1xuICBtYXJnaW4tdG9wOiA2cHg7XG59XG5cbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtcG9wdXAge1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1hcmdpbjogMDtcbiAgLW1vei1ib3gtc2hhZG93OiAzcHggM3B4IDExcHggMCByZ2JhKDUwLCA1MCwgNTAsIDAuNSk7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogM3B4IDNweCAxMXB4IDAgcmdiYSg1MCwgNTAsIDUwLCAwLjUpO1xuICBib3gtc2hhZG93OiAzcHggM3B4IDExcHggMCByZ2JhKDUwLCA1MCwgNTAsIDAuNSk7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlNGU1ZTY7XG4gIHBhZGRpbmc6IDJweCAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjdmN2Y3O1xuICBsaXN0LXN0eWxlOiBub25lO1xuICB6LWluZGV4OiAyMDtcbiAgY29sb3I6ICM3YzdjN2M7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgbWluLXdpZHRoOiAzMDBweDtcbn1cbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtcG9wdXAud2lkZSB7XG4gIHdpZHRoOiA2MDBweDtcbn1cbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtcG9wdXAgLmxheW91dC1wb3B1cC1mbGV4IHtcbiAgZGlzcGxheTogZmxleDtcbiAgcGFkZGluZzogMnB4IDVweDtcbn1cbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtcG9wdXAgLmxheW91dC1wb3B1cC1mbGV4IC5sYXlvdXQtcG9wdXAtY29sdW1uICsgLmxheW91dC1wb3B1cC1jb2x1bW4ge1xuICBtYXJnaW4tbGVmdDogNHB4O1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHJnYmEoMTI4LCAxMjgsIDEyOCwgMC4xNSk7XG4gIHBhZGRpbmctbGVmdDogNHB4O1xufVxuLmxheW91dC1lZGl0b3IgLmxheW91dC1wb3B1cCAubGF5b3V0LXBvcHVwLWl0ZW0ge1xuICBwYWRkaW5nOiA0cHggNnB4O1xufVxuLmxheW91dC1lZGl0b3IgLmxheW91dC1wb3B1cCAubGF5b3V0LXBvcHVwLWxhYmVsIHtcbiAgZm9udC1zaXplOiAwLjllbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAjN2M3YzdjO1xufVxuLmxheW91dC1lZGl0b3IgLmxheW91dC1wb3B1cCAubGF5b3V0LXBvcHVwLWFjdGlvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmM2Y0ZjU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtcG9wdXAgLmxheW91dC1wb3B1cC1pbnB1dCBpbnB1dFt0eXBlPSd0ZXh0J10sXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LXBvcHVwIC5sYXlvdXQtcG9wdXAtaW5wdXQgdGV4dGFyZWEge1xuICB3aWR0aDogMTAwJTtcbn1cbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtcG9wdXAgLmxheW91dC1wb3B1cC1pbnB1dCA+IGxhYmVsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMC45ZW07XG59XG4iLCLvu79AaW1wb3J0IFwiVmFyaWFibGVzLmxlc3NcIjtcclxuXHJcbi5sYXlvdXQtZWRpdG9yIHtcclxuICAgIC5sYXlvdXQtZWxlbWVudCB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuXHJcbiAgICAgICAgLy8gV2UgZG9uJ3QgZnVjayB3aXRoIHRoZSBsZWZ0IG1hcmdpbiBvZiBjb2x1bW5zLCBiZWNhdXNlIEJvb3RzdHJhcCB1c2VzIHRoZXNlIHRvIHJlbmRlciBjb2x1bW4gb2Zmc2V0cy5cclxuICAgICAgICAmOm5vdCgubGF5b3V0LWNvbHVtbikge1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIge1xyXG4gICAgICAgICAgICA+IC5sYXlvdXQtcGFuZWwge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTsgLy8gU2hvd24gb25seSBpbiBhY3RpdmUgb3IgZm9jdXNlZCBzdGF0ZXMuXHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAyMDtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMjVweDtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgNnB4O1xyXG4gICAgICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgICAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMjVweDtcclxuICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcblxyXG4gICAgICAgICAgICAgICAgPiAubGF5b3V0LXBhbmVsLWl0ZW0ge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDI1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMXB4IDZweCAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgID4gLmxheW91dC1wYW5lbC1sYWJlbCB7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiBAZm9udC1zaXplIC0gMTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICA+IC5sYXlvdXQtcGFuZWwtYWN0aW9uIHtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lOyAvLyBTaG93biBvbmx5IGluIGZvY3VzZWQgc3RhdGUuXHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDI4cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgPiAubGF5b3V0LXBhbmVsLW1haW4ge1xyXG4gICAgICAgICAgICAgICAgdG9wOiAtMjdweDtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IC0ycHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gV2hlbiBkcmFnZ2luZyBmcm9tIHRvb2xib3gsIGVsZW1lbnRzIHdpbGwgYmUgbGkgcmF0aGVyIHRoYW4gZGl2LlxyXG4gICAgbGkubGF5b3V0LWVsZW1lbnQge1xyXG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICB9XHJcblxyXG4gICAgJjpub3QoLmxheW91dC1lZGl0b3ItZHJhZ2dpbmcpIHtcclxuXHJcbiAgICAgICAgLmxheW91dC1lbGVtZW50LWFjdGl2ZSwgLmxheW91dC1lbGVtZW50LWZvY3VzZWQge1xyXG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDJweDtcclxuICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuXHJcbiAgICAgICAgICAgID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAtMnB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubGF5b3V0LWVsZW1lbnQtYWN0aXZlIHtcclxuICAgICAgICAgICAgQGFjdGl2ZS1oaWdobGlnaHQ6IGZhZGUoIzY4Njg2OCwgMTAlKTtcclxuXHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogQGFjdGl2ZS1oaWdobGlnaHQ7XHJcblxyXG4gICAgICAgICAgICA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyID4gLmxheW91dC1wYW5lbC1tYWluIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyAvLyBUbyByZXZlYWwuXHJcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAzMDtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBhY3RpdmUtaGlnaGxpZ2h0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubGF5b3V0LWVsZW1lbnQtZm9jdXNlZCB7XHJcbiAgICAgICAgICAgIEBmb2N1c2VkLWhpZ2hsaWdodDogIzY0ODcyMTtcclxuICAgICAgICAgICAgQGZvY3VzZWQtdGV4dDogI2ZlZmVmZTtcclxuXHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogQGZvY3VzZWQtaGlnaGxpZ2h0O1xyXG5cclxuICAgICAgICAgICAgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciA+IC5sYXlvdXQtcGFuZWwge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7IC8vIFRvIHJldmVhbC5cclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBmb2N1c2VkLWhpZ2hsaWdodDtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBAZm9jdXNlZC10ZXh0O1xyXG5cclxuICAgICAgICAgICAgICAgID4gLmxheW91dC1wYW5lbC1hY3Rpb24ge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgLy8gVG8gcmV2ZWFsLlxyXG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGVuKEBmb2N1c2VkLWhpZ2hsaWdodCwgMTAlKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICYuZGlzYWJsZWQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBmYWRlKEBmb2N1c2VkLXRleHQsIDQwJSk7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBmb2N1c2VkLWhpZ2hsaWdodDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgJi5hY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogbGlnaHRlbihzYXR1cmF0ZShzcGluKEBmb2N1c2VkLWhpZ2hsaWdodCwgLTEwKSwgMTAwJSksIDMwJSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGxpZ2h0ZW4oQGZvY3VzZWQtaGlnaGxpZ2h0LCA1JSk7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGxpZ2h0ZW4oQGZvY3VzZWQtaGlnaGxpZ2h0LCAxMCUpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubGF5b3V0LWVsZW1lbnQtc2VsZWN0ZWQge1xyXG4gICAgICAgICAgICBAc2VsZWN0ZWQtaGlnaGxpZ2h0OiAjNjQ4NzIxO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBmYWRlKEBzZWxlY3RlZC1oaWdobGlnaHQsIDglKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnVpLXNvcnRhYmxlLXBsYWNlaG9sZGVyIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG5cclxuICAgIC5sYXlvdXQtZWxlbWVudC1kcm9wdGFyZ2V0IHtcclxuICAgICAgICBAZHJvcHRhcmdldC1oaWdobGlnaHQ6ICM2NDg3MjE7XHJcbiAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDEycHggNnB4IGZhZGUoQGRyb3B0YXJnZXQtaGlnaGxpZ2h0LCA1MCUpO1xyXG5cclxuICAgICAgICAudWktc29ydGFibGUtcGxhY2Vob2xkZXIge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jazsgLy8gVG8gcmV2ZWFsLlxyXG4gICAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IEBlbGVtZW50LW1pbi1oZWlnaHQgLSAycHg7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMnB4IGRhc2hlZCBAZHJvcHRhcmdldC1oaWdobGlnaHQgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZmFkZShAZHJvcHRhcmdldC1oaWdobGlnaHQsIDE2JSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIEEgQ1NTIGZpeCBmb3IgbWVkaWEgaXRlbSBlbGVtZW50cy5cclxuICAgIC5tZWRpYS10aHVtYm5haWwge1xyXG4gICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDoxMDAlO1xyXG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCLvu79AaW1wb3J0IFwiVmFyaWFibGVzLmxlc3NcIjtcclxuXHJcbi5sYXlvdXQtZWRpdG9yIHtcclxuICAgIC5sYXlvdXQtY29udGFpbmVyIHtcclxuXHJcbiAgICAgICAgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciB7XHJcblxyXG4gICAgICAgICAgICA+IC5sYXlvdXQtY29udGFpbmVyLWNoaWxkcmVuLXBsYWNlaG9sZGVyIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiBAY29udGFpbmVyLXBhZGRpbmcgLSAxcHg7XHJcbiAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiBAZWxlbWVudC1taW4taGVpZ2h0O1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggZGFzaGVkIGZhZGUoQGdyYXktdGV4dCwgNDAlKTtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IEBjb250YWluZXItcGFkZGluZztcclxuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiBAZm9udC1zaXplIC0gMTtcclxuICAgICAgICAgICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcclxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuNjtcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgPiAubGF5b3V0LWNoaWxkcmVuIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IEBjb250YWluZXItcGFkZGluZztcclxuXHJcbiAgICAgICAgICAgICAgICAvLyBBbGwgYWRqYWNlbnQgbm9uLWNvbnRhaW5lciBjaGlsZHJlbiBuZWVkIHNvbWUgc3BhY2UgYmV0d2Vlbi4uLlxyXG4gICAgICAgICAgICAgICAgPiAubGF5b3V0LWVsZW1lbnQ6bm90KC5sYXlvdXQtY29udGFpbmVyKSArIC5sYXlvdXQtZWxlbWVudDpub3QoLmxheW91dC1jb250YWluZXIpIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiBAY29udGVudC1zcGFjaW5nO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIC8vIC4uLiBleGNlcHQgd2hlbiBqUXVlcnkgVUkgc29ydGFibGUgaGVscGVyIGlzIHRoZSBmaXJzdCBlbGVtZW50IChiZWNhdXNlIHRoYXQgb25lIGlzIGFic29sdXRlbHkgcG9zaXRpb25lZCBhbmQgXCJmbG9hdGluZ1wiKS5cclxuICAgICAgICAgICAgICAgID4gLnVpLXNvcnRhYmxlLWhlbHBlcjpmaXJzdC1jaGlsZCArIC5sYXlvdXQtZWxlbWVudDpub3QoLmxheW91dC1jb250YWluZXIpIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmLmxheW91dC1jb250YWluZXItZW1wdHkge1xyXG4gICAgICAgICAgICAgICAgPiAubGF5b3V0LWNvbnRhaW5lci1jaGlsZHJlbi1wbGFjZWhvbGRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDsgLy8gVG8gcmV2ZWFsLlxyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgID4gLmxheW91dC1jaGlsZHJlbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmOm5vdCgubGF5b3V0LWVkaXRvci1kcmFnZ2luZykge1xyXG4gICAgICAgIC5sYXlvdXQtY29udGFpbmVyLmxheW91dC1lbGVtZW50LWZvY3VzZWQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciA+IC5sYXlvdXQtY2hpbGRyZW4ge1xyXG4gICAgICAgICAgICA+IC5sYXlvdXQtZWxlbWVudDpub3QoLmxheW91dC1lbGVtZW50LWFjdGl2ZSkge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggZGFzaGVkIGZhZGUoQGdyYXktdGV4dCwgNjAlKTtcclxuXHJcbiAgICAgICAgICAgICAgICA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IC0xcHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgID4gLmxheW91dC1jb250YWluZXIgKyAubGF5b3V0LWNvbnRhaW5lcjpub3QoLmxheW91dC1lbGVtZW50LWFjdGl2ZSkge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMDtcclxuXHJcbiAgICAgICAgICAgICAgICA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIu+7v0BpbXBvcnQgXCJWYXJpYWJsZXMubGVzc1wiO1xyXG5cclxuLmxheW91dC1lZGl0b3Ige1xyXG4gICAgLmxheW91dC1jYW52YXMge1xyXG4gICAgICAgICNkdW1teSB7IC8vIE9ubHkgYWRkZWQgYmVjYXVzZSBXRSBkb2Vzbid0IGNvbXBpbGUgaWYgdGhlcmUgYXJlIG5vIHJ1bGVzLlxyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIu+7v0BpbXBvcnQgXCJWYXJpYWJsZXMubGVzc1wiO1xyXG5cclxuLmxheW91dC1lZGl0b3Ige1xyXG4gICAgLmxheW91dC1yb3cge1xyXG4gICAgICAgICYubGF5b3V0LWVsZW1lbnQtZm9jdXNlZDpub3QoLmxheW91dC1lbGVtZW50LWRyb3B0YXJnZXQpID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgPiAubGF5b3V0LWNoaWxkcmVuIHtcclxuICAgICAgICAgICAgPiAubGF5b3V0LWVsZW1lbnQ6bm90KC5sYXlvdXQtZWxlbWVudC1hY3RpdmUpIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBkYXNoZWQgZmFkZShAZ3JheS10ZXh0LCA2MCUpICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAtMXB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgID4gLmxheW91dC1lbGVtZW50ICsgLmxheW91dC1lbGVtZW50Om5vdCgubGF5b3V0LWVsZW1lbnQtYWN0aXZlKSB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItbGVmdDogMCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIu+7v0BpbXBvcnQgXCJWYXJpYWJsZXMubGVzc1wiO1xyXG5cclxuLmxheW91dC1lZGl0b3Ige1xyXG4gICAgLmxheW91dC1jb2x1bW4ge1xyXG4gICAgICAgID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIge1xyXG4gICAgICAgICAgICA+IC5sYXlvdXQtY29sdW1uLXJlc2l6ZS1iYXIge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIHotaW5kZXg6IDMwO1xyXG4gICAgICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDE2cHg7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBjdXJzb3I6IGNvbC1yZXNpemU7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgID4gLmxheW91dC1jb2x1bW4tcmVzaXplLWJhci1sZWZ0IHtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IC02cHg7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgID4gLmxheW91dC1jb2x1bW4tcmVzaXplLWJhci1yaWdodCB7XHJcbiAgICAgICAgICAgICAgICByaWdodDogLTZweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5sYXlvdXQtZWxlbWVudC1mb2N1c2VkID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgPiAubGF5b3V0LWNvbHVtbi1yZXNpemUtYmFyIHtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIu+7v0BpbXBvcnQgXCJWYXJpYWJsZXMubGVzc1wiO1xyXG5AaW1wb3J0IFwiUmVzZXQubGVzc1wiO1xyXG5cclxuLmxheW91dC1lZGl0b3Ige1xyXG4gICAgLmxheW91dC1jb250ZW50LCAubGF5b3V0LWh0bWwge1xyXG4gICAgICAgIG1pbi1oZWlnaHQ6IDFlbTtcclxuXHJcbiAgICAgICAgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciB7XHJcbiAgICAgICAgICAgIC5sYXlvdXQtY29udGVudC1tYXJrdXAge1xyXG5cclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDJweDtcclxuICAgICAgICAgICAgICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcclxuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XHJcblxyXG4gICAgICAgICAgICAgICAgLy8gUmVzZXQgdG8gSFRNTDUgVzNDIHN0YW5kYXJkIGRlZmF1bHQgc3R5bGluZyB3aXRoaW4gY29udGVudC5cclxuICAgICAgICAgICAgICAgIC5yZXNldCgpO1xyXG5cclxuICAgICAgICAgICAgICAgID4gKjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50OyAvLyBJbXBvcnRhbnQgYmVjYXVzZSBzaXRlLmNzcyBvZiB0aGUgYWRtaW4gdGhlbWUgc3R5bGVzIGhlYWRpbmcgbWFyZ2lucyB3aXRoIGEgdmVyeSBoaWdoIHNwZWNpZmljaXR5LlxyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgID4gKjpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYubGF5b3V0LWNvbnRlbnQtaW1hZ2UsICYubGF5b3V0LWNvbnRlbnQtdmVjdG9yLWltYWdlIHtcclxuICAgICAgICAgICAgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciA+IC5sYXlvdXQtY29udGVudC1tYXJrdXAgPiBpbWcge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuaW1nLXJlc3BvbnNpdmUsIC5pbWctcmVzcG9uc2l2ZSBpbWcge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICB9XHJcbn1cclxuIiwi77u/LnJlc2V0KCkge1xyXG5cclxuICAgICoge1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xyXG4gICAgfVxyXG5cclxuICAgIGFkZHJlc3MsIGJsb2NrcXVvdGUsIGNlbnRlciwgZGl2LCBmaWd1cmUsIGZpZ2NhcHRpb24sIGZvb3RlciwgZm9ybSxcclxuICAgIGhlYWRlciwgaHIsIGxlZ2VuZCwgbGlzdGluZywgcCwgcGxhaW50ZXh0LCBwcmUsIHhtcCB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB9XHJcblxyXG4gICAgYmxvY2txdW90ZSwgZmlndXJlLCBsaXN0aW5nLCBwLCBwbGFpbnRleHQsIHByZSwgeG1wIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAxZW07XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMWVtO1xyXG4gICAgfVxyXG5cclxuICAgIGJsb2NrcXVvdGUsIGZpZ3VyZSB7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDQwcHg7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA0MHB4O1xyXG4gICAgfVxyXG5cclxuICAgIGFkZHJlc3Mge1xyXG4gICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcclxuICAgIH1cclxuXHJcbiAgICBsaXN0aW5nLCBwbGFpbnRleHQsIHByZSwgeG1wIHtcclxuICAgICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlO1xyXG4gICAgICAgIHdoaXRlLXNwYWNlOiBwcmU7XHJcbiAgICB9XHJcblxyXG4gICAgY2l0ZSwgZGZuLCBlbSwgaSwgdmFyIHtcclxuICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XHJcbiAgICB9XHJcblxyXG4gICAgYiwgc3Ryb25nIHtcclxuICAgICAgICBmb250LXdlaWdodDogYm9sZGVyO1xyXG4gICAgfVxyXG5cclxuICAgIGNvZGUsIGtiZCwgc2FtcCwgdHQge1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7XHJcbiAgICB9XHJcblxyXG4gICAgYmlnIHtcclxuICAgICAgICBmb250LXNpemU6IGxhcmdlcjtcclxuICAgIH1cclxuXHJcbiAgICBzbWFsbCB7XHJcbiAgICAgICAgZm9udC1zaXplOiBzbWFsbGVyO1xyXG4gICAgfVxyXG5cclxuICAgIHN1YiB7XHJcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHN1YjtcclxuICAgIH1cclxuXHJcbiAgICBzdXAge1xyXG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBzdXBlcjtcclxuICAgIH1cclxuXHJcbiAgICBzdWIsIHN1cCB7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcclxuICAgICAgICBmb250LXNpemU6IHNtYWxsZXI7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIHJ1Ynkge1xyXG4gICAgICAgIGRpc3BsYXk6IHJ1Ynk7XHJcbiAgICB9XHJcblxyXG4gICAgcmIge1xyXG4gICAgICAgIGRpc3BsYXk6IHJ1YnktYmFzZTtcclxuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgfVxyXG5cclxuICAgIHJ0IHtcclxuICAgICAgICBkaXNwbGF5OiBydWJ5LXRleHQ7XHJcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgICAgICBmb250LXNpemU6IDUwJTtcclxuICAgICAgICBmb250LXZhcmlhbnQtZWFzdC1hc2lhbjogcnVieTtcclxuICAgICAgICB0ZXh0LWVtcGhhc2lzOiBub25lO1xyXG4gICAgfVxyXG5cclxuICAgIHJiYyB7XHJcbiAgICAgICAgZGlzcGxheTogcnVieS1iYXNlLWNvbnRhaW5lcjtcclxuICAgIH1cclxuXHJcbiAgICBydGMge1xyXG4gICAgICAgIGRpc3BsYXk6IHJ1YnktdGV4dC1jb250YWluZXI7XHJcbiAgICB9XHJcblxyXG4gICAgcnVieSwgcmIsIHJ0LCByYmMsIHJ0YyB7XHJcbiAgICAgICAgdW5pY29kZS1iaWRpOiBpc29sYXRlO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICA6bGluayB7XHJcbiAgICAgICAgY29sb3I6ICMwMDAwRUU7XHJcbiAgICB9XHJcblxyXG4gICAgOnZpc2l0ZWQge1xyXG4gICAgICAgIGNvbG9yOiAjNTUxQThCO1xyXG4gICAgfVxyXG5cclxuICAgIDpsaW5rLCA6dmlzaXRlZCB7XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICB9XHJcblxyXG4gICAgYTpsaW5rW3JlbH49aGVscF0sIGE6dmlzaXRlZFtyZWx+PWhlbHBdLFxyXG4gICAgYXJlYTpsaW5rW3JlbH49aGVscF0sIGFyZWE6dmlzaXRlZFtyZWx+PWhlbHBdIHtcclxuICAgICAgICBjdXJzb3I6IGhlbHA7XHJcbiAgICB9XHJcblxyXG4gICAgOmZvY3VzIHtcclxuICAgICAgICBvdXRsaW5lOiBhdXRvO1xyXG4gICAgfVxyXG5cclxuICAgIG1hcmsge1xyXG4gICAgICAgIGJhY2tncm91bmQ6IHllbGxvdztcclxuICAgICAgICBjb2xvcjogYmxhY2s7XHJcbiAgICB9XHJcbiAgICAvKiB0aGlzIGNvbG9yIGlzIGp1c3QgYSBzdWdnZXN0aW9uIGFuZCBjYW4gYmUgY2hhbmdlZCBiYXNlZCBvbiBpbXBsZW1lbnRhdGlvbiBmZWVkYmFjayAqL1xyXG4gICAgYWJiclt0aXRsZV0sIGFjcm9ueW1bdGl0bGVdIHtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IGRvdHRlZCB1bmRlcmxpbmU7XHJcbiAgICB9XHJcblxyXG4gICAgaW5zLCB1IHtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgIH1cclxuXHJcbiAgICBkZWwsIHMsIHN0cmlrZSB7XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7XHJcbiAgICB9XHJcblxyXG4gICAgYmxpbmsge1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogYmxpbms7XHJcbiAgICB9XHJcblxyXG4gICAgcTo6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBvcGVuLXF1b3RlO1xyXG4gICAgfVxyXG5cclxuICAgIHE6OmFmdGVyIHtcclxuICAgICAgICBjb250ZW50OiBjbG9zZS1xdW90ZTtcclxuICAgIH1cclxuXHJcbiAgICBicjo6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiAnXFxBJztcclxuICAgICAgICB3aGl0ZS1zcGFjZTogcHJlO1xyXG4gICAgfVxyXG4gICAgLyogdGhpcyBhbHNvIGhhcyBiaWRpIGltcGxpY2F0aW9ucyAqL1xyXG4gICAgbm9iciB7XHJcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgIH1cclxuXHJcbiAgICB3YnIge1xyXG4gICAgICAgIGNvbnRlbnQ6ICdcXDIwMEInO1xyXG4gICAgfVxyXG4gICAgLyogdGhpcyBhbHNvIGhhcyBiaWRpIGltcGxpY2F0aW9ucyAqL1xyXG4gICAgbm9iciB3YnIge1xyXG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XHJcbiAgICB9XHJcblxyXG4gICAgYXJ0aWNsZSwgYXNpZGUsIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsIGhncm91cCwgbmF2LCBzZWN0aW9uIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIH1cclxuXHJcbiAgICBoMSB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMC42N2VtO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAuNjdlbTtcclxuICAgICAgICBmb250LXNpemU6IDIuMDBlbTtcclxuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIH1cclxuXHJcbiAgICBoMiB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMC44M2VtO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAuODNlbTtcclxuICAgICAgICBmb250LXNpemU6IDEuNTBlbTtcclxuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIH1cclxuXHJcbiAgICBoMyB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMS4wMGVtO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuMDBlbTtcclxuICAgICAgICBmb250LXNpemU6IDEuMTdlbTtcclxuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIH1cclxuXHJcbiAgICBoNCB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMS4zM2VtO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuMzNlbTtcclxuICAgICAgICBmb250LXNpemU6IDEuMDBlbTtcclxuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIH1cclxuXHJcbiAgICBoNSB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMS42N2VtO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuNjdlbTtcclxuICAgICAgICBmb250LXNpemU6IDAuODNlbTtcclxuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIH1cclxuXHJcbiAgICBoNiB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMi4zM2VtO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIuMzNlbTtcclxuICAgICAgICBmb250LXNpemU6IDAuNjdlbTtcclxuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIH1cclxuXHJcbiAgICBkaXIsIGRkLCBkbCwgZHQsIG9sLCB1bCB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB9XHJcblxyXG4gICAgbGkge1xyXG4gICAgICAgIGRpc3BsYXk6IGxpc3QtaXRlbTtcclxuICAgIH1cclxuXHJcbiAgICBkaXIsIGRsLCBvbCwgdWwge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDFlbTtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxZW07XHJcbiAgICB9XHJcblxyXG4gICAgICAgIGRpciBkaXIsIGRpciBkbCwgZGlyIG9sLCBkaXIgdWwsXHJcbiAgICAgICAgZGwgZGlyLCBkbCBkbCwgZGwgb2wsIGRsIHVsLFxyXG4gICAgICAgIG9sIGRpciwgb2wgZGwsIG9sIG9sLCBvbCB1bCxcclxuICAgICAgICB1bCBkaXIsIHVsIGRsLCB1bCBvbCwgdWwgdWwge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICBkZCB7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDQwcHg7XHJcbiAgICB9XHJcbiAgICAvKiBMVFItc3BlY2lmaWM6IHVzZSAnbWFyZ2luLXJpZ2h0JyBmb3IgcnRsIGVsZW1lbnRzICovXHJcbiAgICBkaXIsIG9sLCB1bCB7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA0MHB4O1xyXG4gICAgfVxyXG4gICAgLyogTFRSLXNwZWNpZmljOiB1c2UgJ3BhZGRpbmctcmlnaHQnIGZvciBydGwgZWxlbWVudHMgKi9cclxuICAgIG9sIHtcclxuICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IGRlY2ltYWw7XHJcbiAgICB9XHJcblxyXG4gICAgZGlyLCB1bCB7XHJcbiAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBkaXNjO1xyXG4gICAgfVxyXG5cclxuICAgICAgICBkaXIgZGlyLCBkaXIgdWwsXHJcbiAgICAgICAgb2wgZGlyLCBvbCB1bCxcclxuICAgICAgICB1bCBkaXIsIHVsIHVsIHtcclxuICAgICAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBjaXJjbGU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgZGlyIGRpciBkaXIsIGRpciBkaXIgdWwsXHJcbiAgICAgICAgICAgIGRpciBvbCBkaXIsIGRpciBvbCB1bCxcclxuICAgICAgICAgICAgZGlyIHVsIGRpciwgZGlyIHVsIHVsLFxyXG4gICAgICAgICAgICBvbCBkaXIgZGlyLCBvbCBkaXIgdWwsXHJcbiAgICAgICAgICAgIG9sIG9sIGRpciwgb2wgb2wgdWwsXHJcbiAgICAgICAgICAgIG9sIHVsIGRpciwgb2wgdWwgdWwsXHJcbiAgICAgICAgICAgIHVsIGRpciBkaXIsIHVsIGRpciB1bCxcclxuICAgICAgICAgICAgdWwgb2wgZGlyLCB1bCBvbCB1bCxcclxuICAgICAgICAgICAgdWwgdWwgZGlyLCB1bCB1bCB1bCB7XHJcbiAgICAgICAgICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IHNxdWFyZTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgIHRhYmxlIHtcclxuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcclxuICAgIH1cclxuXHJcbiAgICBjYXB0aW9uIHtcclxuICAgICAgICBkaXNwbGF5OiB0YWJsZS1jYXB0aW9uO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbGdyb3VwLCBjb2xncm91cFtoaWRkZW5dIHtcclxuICAgICAgICBkaXNwbGF5OiB0YWJsZS1jb2x1bW4tZ3JvdXA7XHJcbiAgICB9XHJcblxyXG4gICAgY29sLCBjb2xbaGlkZGVuXSB7XHJcbiAgICAgICAgZGlzcGxheTogdGFibGUtY29sdW1uO1xyXG4gICAgfVxyXG5cclxuICAgIHRoZWFkLCB0aGVhZFtoaWRkZW5dIHtcclxuICAgICAgICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXA7XHJcbiAgICB9XHJcblxyXG4gICAgdGJvZHksIHRib2R5W2hpZGRlbl0ge1xyXG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cDtcclxuICAgIH1cclxuXHJcbiAgICB0Zm9vdCwgdGZvb3RbaGlkZGVuXSB7XHJcbiAgICAgICAgZGlzcGxheTogdGFibGUtZm9vdGVyLWdyb3VwO1xyXG4gICAgfVxyXG5cclxuICAgIHRyLCB0cltoaWRkZW5dIHtcclxuICAgICAgICBkaXNwbGF5OiB0YWJsZS1yb3c7XHJcbiAgICB9XHJcblxyXG4gICAgdGQsIHRoLCB0ZFtoaWRkZW5dLCB0aFtoaWRkZW5dIHtcclxuICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xyXG4gICAgfVxyXG5cclxuICAgICAgICBjb2xncm91cFtoaWRkZW5dLCBjb2xbaGlkZGVuXSwgdGhlYWRbaGlkZGVuXSwgdGJvZHlbaGlkZGVuXSxcclxuICAgICAgICB0Zm9vdFtoaWRkZW5dLCB0cltoaWRkZW5dLCB0ZFtoaWRkZW5dLCB0aFtoaWRkZW5dIHtcclxuICAgICAgICAgICAgdmlzaWJpbGl0eTogY29sbGFwc2U7XHJcbiAgICAgICAgfVxyXG5cclxuICAgIHRhYmxlIHtcclxuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgICAgIGJvcmRlci1zcGFjaW5nOiAycHg7XHJcbiAgICAgICAgYm9yZGVyLWNvbGxhcHNlOiBzZXBhcmF0ZTtcclxuICAgICAgICB0ZXh0LWluZGVudDogaW5pdGlhbDtcclxuICAgIH1cclxuXHJcbiAgICB0ZCwgdGgge1xyXG4gICAgICAgIHBhZGRpbmc6IDFweDtcclxuICAgIH1cclxuXHJcbiAgICB0aCB7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICB9XHJcblxyXG4gICAgdGhlYWQsIHRib2R5LCB0Zm9vdCwgdGFibGUgPiB0ciB7XHJcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgIH1cclxuXHJcbiAgICB0ciwgdGQsIHRoIHtcclxuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogaW5oZXJpdDtcclxuICAgIH1cclxuXHJcbiAgICB0YWJsZSwgdGQsIHRoIHtcclxuICAgICAgICBib3JkZXItY29sb3I6IGdyYXk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhlYWQsIHRib2R5LCB0Zm9vdCwgdHIge1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcclxuICAgIH1cclxuICAgIC8qdGFibGVbcnVsZXM9bm9uZSBpXSwgdGFibGVbcnVsZXM9Z3JvdXBzIGldLCB0YWJsZVtydWxlcz1yb3dzIGldLFxyXG50YWJsZVtydWxlcz1jb2xzIGldLCB0YWJsZVtydWxlcz1hbGwgaV0sIHRhYmxlW2ZyYW1lPXZvaWQgaV0sXHJcbnRhYmxlW2ZyYW1lPWFib3ZlIGldLCB0YWJsZVtmcmFtZT1iZWxvdyBpXSwgdGFibGVbZnJhbWU9aHNpZGVzIGldLFxyXG50YWJsZVtmcmFtZT1saHMgaV0sIHRhYmxlW2ZyYW1lPXJocyBpXSwgdGFibGVbZnJhbWU9dnNpZGVzIGldLFxyXG50YWJsZVtmcmFtZT1ib3ggaV0sIHRhYmxlW2ZyYW1lPWJvcmRlciBpXSxcclxudGFibGVbcnVsZXM9bm9uZSBpXSA+IHRyID4gdGQsIHRhYmxlW3J1bGVzPW5vbmUgaV0gPiB0ciA+IHRoLFxyXG50YWJsZVtydWxlcz1ncm91cHMgaV0gPiB0ciA+IHRkLCB0YWJsZVtydWxlcz1ncm91cHMgaV0gPiB0ciA+IHRoLFxyXG50YWJsZVtydWxlcz1yb3dzIGldID4gdHIgPiB0ZCwgdGFibGVbcnVsZXM9cm93cyBpXSA+IHRyID4gdGgsXHJcbnRhYmxlW3J1bGVzPWNvbHMgaV0gPiB0ciA+IHRkLCB0YWJsZVtydWxlcz1jb2xzIGldID4gdHIgPiB0aCxcclxudGFibGVbcnVsZXM9YWxsIGldID4gdHIgPiB0ZCwgdGFibGVbcnVsZXM9YWxsIGldID4gdHIgPiB0aCxcclxudGFibGVbcnVsZXM9bm9uZSBpXSA+IHRoZWFkID4gdHIgPiB0ZCwgdGFibGVbcnVsZXM9bm9uZSBpXSA+IHRoZWFkID4gdHIgPiB0aCxcclxudGFibGVbcnVsZXM9Z3JvdXBzIGldID4gdGhlYWQgPiB0ciA+IHRkLCB0YWJsZVtydWxlcz1ncm91cHMgaV0gPiB0aGVhZCA+IHRyID4gdGgsXHJcbnRhYmxlW3J1bGVzPXJvd3MgaV0gPiB0aGVhZCA+IHRyID4gdGQsIHRhYmxlW3J1bGVzPXJvd3MgaV0gPiB0aGVhZCA+IHRyID4gdGgsXHJcbnRhYmxlW3J1bGVzPWNvbHMgaV0gPiB0aGVhZCA+IHRyID4gdGQsIHRhYmxlW3J1bGVzPWNvbHMgaV0gPiB0aGVhZCA+IHRyID4gdGgsXHJcbnRhYmxlW3J1bGVzPWFsbCBpXSA+IHRoZWFkID4gdHIgPiB0ZCwgdGFibGVbcnVsZXM9YWxsIGldID4gdGhlYWQgPiB0ciA+IHRoLFxyXG50YWJsZVtydWxlcz1ub25lIGldID4gdGJvZHkgPiB0ciA+IHRkLCB0YWJsZVtydWxlcz1ub25lIGldID4gdGJvZHkgPiB0ciA+IHRoLFxyXG50YWJsZVtydWxlcz1ncm91cHMgaV0gPiB0Ym9keSA+IHRyID4gdGQsIHRhYmxlW3J1bGVzPWdyb3VwcyBpXSA+IHRib2R5ID4gdHIgPiB0aCxcclxudGFibGVbcnVsZXM9cm93cyBpXSA+IHRib2R5ID4gdHIgPiB0ZCwgdGFibGVbcnVsZXM9cm93cyBpXSA+IHRib2R5ID4gdHIgPiB0aCxcclxudGFibGVbcnVsZXM9Y29scyBpXSA+IHRib2R5ID4gdHIgPiB0ZCwgdGFibGVbcnVsZXM9Y29scyBpXSA+IHRib2R5ID4gdHIgPiB0aCxcclxudGFibGVbcnVsZXM9YWxsIGldID4gdGJvZHkgPiB0ciA+IHRkLCB0YWJsZVtydWxlcz1hbGwgaV0gPiB0Ym9keSA+IHRyID4gdGgsXHJcbnRhYmxlW3J1bGVzPW5vbmUgaV0gPiB0Zm9vdCA+IHRyID4gdGQsIHRhYmxlW3J1bGVzPW5vbmUgaV0gPiB0Zm9vdCA+IHRyID4gdGgsXHJcbnRhYmxlW3J1bGVzPWdyb3VwcyBpXSA+IHRmb290ID4gdHIgPiB0ZCwgdGFibGVbcnVsZXM9Z3JvdXBzIGldID4gdGZvb3QgPiB0ciA+IHRoLFxyXG50YWJsZVtydWxlcz1yb3dzIGldID4gdGZvb3QgPiB0ciA+IHRkLCB0YWJsZVtydWxlcz1yb3dzIGldID4gdGZvb3QgPiB0ciA+IHRoLFxyXG50YWJsZVtydWxlcz1jb2xzIGldID4gdGZvb3QgPiB0ciA+IHRkLCB0YWJsZVtydWxlcz1jb2xzIGldID4gdGZvb3QgPiB0ciA+IHRoLFxyXG50YWJsZVtydWxlcz1hbGwgaV0gPiB0Zm9vdCA+IHRyID4gdGQsIHRhYmxlW3J1bGVzPWFsbCBpXSA+IHRmb290ID4gdHIgPiB0aCB7XHJcbiAgICBib3JkZXItY29sb3I6IGJsYWNrO1xyXG59Ki9cclxuICAgIGlucHV0LCBzZWxlY3QsIG9wdGlvbiwgb3B0Z3JvdXAsIGJ1dHRvbiwgdGV4dGFyZWEsIGtleWdlbiB7XHJcbiAgICAgICAgdGV4dC1pbmRlbnQ6IGluaXRpYWw7XHJcbiAgICB9XHJcblxyXG4gICAgdGV4dGFyZWEge1xyXG4gICAgICAgIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcclxuICAgIH1cclxuXHJcbiAgICBpbnB1dFt0eXBlPVwicmFkaW9cIl0sIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSwgaW5wdXRbdHlwZT1cInJlc2V0XCJdLCBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLFxyXG4gICAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSwgc2VsZWN0LCBidXR0b24ge1xyXG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICB9XHJcblxyXG4gICAgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSwgYnV0dG9uIHtcclxuICAgICAgICBwYWRkaW5nOiAwLjNlbSAwLjVlbTtcclxuICAgIH1cclxuXHJcbiAgICBociB7XHJcbiAgICAgICAgY29sb3I6IGdyYXk7XHJcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBpbnNldDtcclxuICAgICAgICBib3JkZXItd2lkdGg6IDFweDtcclxuICAgICAgICBtYXJnaW46IDAuNWVtIGF1dG87XHJcbiAgICB9XHJcblxyXG4gICAgZmllbGRzZXQge1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAycHg7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAycHg7XHJcbiAgICAgICAgYm9yZGVyOiBncm9vdmUgMnB4IFRocmVlREZhY2U7XHJcbiAgICAgICAgcGFkZGluZzogMC4zNWVtIDAuNjI1ZW0gMC43NWVtO1xyXG4gICAgfVxyXG5cclxuICAgIGxlZ2VuZCB7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAycHg7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogMnB4O1xyXG4gICAgfVxyXG59XHJcbiIsIu+7v0BpbXBvcnQgXCJWYXJpYWJsZXMubGVzc1wiO1xyXG5cclxuYm9keSB7XHJcbiAgICAubGF5b3V0LXRvb2xib3gtaXRlbSB7XHJcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgQGdyYXktYm9yZGVyO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcbiAgICAgICAgcGFkZGluZzogKEBjb250YWluZXItcGFkZGluZyAtIDMpIEBjb250YWluZXItcGFkZGluZztcclxuICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XHJcbiAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xyXG5cclxuICAgICAgICBpIHtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICB3aWR0aDogMTZweDtcclxuICAgICAgICAgICAgZm9udDogbm9ybWFsIG5vcm1hbCBub3JtYWwgMTRweC8xIEZvbnRBd2Vzb21lO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgKyAubGF5b3V0LXRvb2xib3gtaXRlbSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IEBjb250YWluZXItcGFkZGluZyAvIDM7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4ubGF5b3V0LWVkaXRvciB7XHJcbiAgICA+IC5sYXlvdXQtdG9vbGJveC13cmFwcGVyIHtcclxuICAgICAgICBwb3NpdGlvbjogc3RpY2t5O1xyXG4gICAgICAgIHRvcDogMXZoO1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogQGNvbnRhaW5lci1wYWRkaW5nO1xyXG4gICAgICAgIHdpZHRoOiAyMjBweDtcclxuICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xyXG4gICAgICAgIHNjcm9sbGJhci13aWR0aDogdGhpbjtcclxuICAgICAgICBtaW4taGVpZ2h0OiA0MDBweDtcclxuICAgICAgICBtYXgtaGVpZ2h0OiA5OHZoO1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuXHJcbiAgICAgICAgPiAubGF5b3V0LXRvb2xib3gge1xyXG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBAZ3JheS1ib3JkZXI7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IEBjb250YWluZXItcGFkZGluZyAvIDI7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBncmF5LWJnO1xyXG5cclxuICAgICAgICAgICAgLmxheW91dC10b29sYm94LWdyb3VwIHtcclxuICAgICAgICAgICAgICAgIC5sYXlvdXQtdG9vbGJveC1ncm91cC1oZWFkaW5nIHtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBAY29udGFpbmVyLXBhZGRpbmcgLyAzO1xyXG4gICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IEBjb250YWluZXItcGFkZGluZyAvIDM7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQ6IG5vcm1hbCBub3JtYWwgbm9ybWFsIDE0cHgvMSBGb250QXdlc29tZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlxcZjBkN1wiO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAmLmNvbGxhcHNlZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgLmxheW91dC10b29sYm94LWdyb3VwLWhlYWRpbmc6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcXGYwZGFcIjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIC5sYXlvdXQtdG9vbGJveC1pdGVtcyB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIC5sYXlvdXQtdG9vbGJveC1zZWN0aW9uICsgLmxheW91dC10b29sYm94LXNlY3Rpb24ge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IEBjb250YWluZXItcGFkZGluZyAvIDM7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgLmxheW91dC10b29sYm94LWl0ZW0ge1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIEBncmF5LWJvcmRlcjtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IChAY29udGFpbmVyLXBhZGRpbmcgLSAzKSBAY29udGFpbmVyLXBhZGRpbmc7XHJcbiAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xyXG5cclxuICAgICAgICAgICAgICAgICAgICBpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTZweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udDogbm9ybWFsIG5vcm1hbCBub3JtYWwgMTRweC8xIEZvbnRBd2Vzb21lO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgKyAubGF5b3V0LXRvb2xib3gtaXRlbSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IEBjb250YWluZXItcGFkZGluZyAvIDM7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICsgLmxheW91dC10b29sYm94LWdyb3VwIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiBAY29udGFpbmVyLXBhZGRpbmcgLyAyO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIu+7v0BpbXBvcnQgXCJWYXJpYWJsZXMubGVzc1wiO1xyXG5cclxuLmxheW91dC1lZGl0b3Ige1xyXG4gICAgLmxheW91dC1wb3B1cCB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTsgLy8gU2hvd24gb25seSBpbiBhY3RpdmUgb3IgZm9jdXNlZCBzdGF0ZXMuXHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAtbW96LWJveC1zaGFkb3c6IDNweCAzcHggMTFweCAwIHJnYmEoNTAsIDUwLCA1MCwgMC41KTtcclxuICAgICAgICAtd2Via2l0LWJveC1zaGFkb3c6IDNweCAzcHggMTFweCAwIHJnYmEoNTAsIDUwLCA1MCwgMC41KTtcclxuICAgICAgICBib3gtc2hhZG93OiAzcHggM3B4IDExcHggMCByZ2JhKDUwLCA1MCwgNTAsIDAuNSk7XHJcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgQGdyYXktYm9yZGVyO1xyXG4gICAgICAgIHBhZGRpbmc6IDJweCAwO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmN2Y3Zjc7XHJcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgICAgICB6LWluZGV4OiAyMDtcclxuICAgICAgICBjb2xvcjogQGdyYXktdGV4dDtcclxuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgIGN1cnNvcjogZGVmYXVsdDtcclxuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XHJcbiAgICAgICAgbWluLXdpZHRoOiAzMDBweDtcclxuXHJcbiAgICAgICAgJi53aWRlIHtcclxuICAgICAgICAgICAgd2lkdGg6IDYwMHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmxheW91dC1wb3B1cC1mbGV4IHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgcGFkZGluZzogMnB4IDVweDtcclxuXHJcbiAgICAgICAgICAgIC5sYXlvdXQtcG9wdXAtY29sdW1uICsgLmxheW91dC1wb3B1cC1jb2x1bW4ge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDRweDtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgZmFkZShncmF5LCAxNSUpO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA0cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5sYXlvdXQtcG9wdXAtaXRlbSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDRweCA2cHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubGF5b3V0LXBvcHVwLWxhYmVsIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAwLjllbTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgICAgICAgIGNvbG9yOiBAZ3JheS10ZXh0O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmxheW91dC1wb3B1cC1hY3Rpb246aG92ZXIge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAZ3JheS1iZztcclxuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmxheW91dC1wb3B1cC1pbnB1dCB7XHJcbiAgICAgICAgICAgIGlucHV0W3R5cGU9J3RleHQnXSwgdGV4dGFyZWEge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgID4gbGFiZWwge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDAuOWVtO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiJdfQ== */ +/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkVkaXRvci5sZXNzIiwiTGF5b3V0RWRpdG9yLmNzcyIsIkVsZW1lbnQubGVzcyIsIkNvbnRhaW5lci5sZXNzIiwiQ2FudmFzLmxlc3MiLCJSb3cubGVzcyIsIkNvbHVtbi5sZXNzIiwiQ29udGVudC5sZXNzIiwiUmVzZXQubGVzcyIsIlRvb2xib3gubGVzcyIsIlBvcHVwLmxlc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFFQTtFQUNJLHFCQUFBO0VBQUEsY0FBQTtFQUNBLHVCQUFBO01BQUEsK0JBQUE7RUFDQSxtQkFBQTtFQUNBLFVBQUE7Q0NESDtBREhEO0VBT1EscUJBQUE7RUFBQSxjQUFBO0NDRFA7QURORDtFQVVZLGtCQUFBO0NDRFg7QURNRDtFQUNJLHFCQUFBO0VBQUEsY0FBQTtFQUNBLGdCQUFBO0VBQ0EsZ0JBQUE7Q0NKSDtBRENEO0VBTVEsY0FBQTtNQUFBLFVBQUE7RUFDQSxvQkFBQTtFQUNBLDBCQUFBO0VBQ0EsMEJBQUE7Q0NKUDtBRExEO0VBWVksY0FBQTtFQUNBLG9CQUFBO0VBQ0EsaUJBQUE7Q0NKWDtBRFZEO0VBaUJnQix1QkFBQTtDQ0pmO0FEYkQ7RUFzQlksd0JBQUE7RUFDQSxxQkFBQTtFQUNBLG9CQUFBO0NDTlg7QURsQkQ7RUE2QlEsb0JBQUE7Q0NSUDtBRFlEO0VBQ0ksY0FBQTtDQ1ZIO0FEYU87O0VBQ0ksYUFBQTtFQUNBLGVBQUE7Q0NWWDtBRGFPO0VBQ0ksWUFBQTtDQ1hYO0FEQ0Q7O0VBY1ksZ0JBQUE7Q0NYWDtBREhEO0VBa0JZLHVCQUFBO0VBQ0EsWUFBQTtFQUNBLFdBQUE7Q0NaWDtBRGNXO0VBQ0ksb0JBQUE7RUFDQSxZQUFBO0NDWmY7QURaRDtFQTZCWSxnQkFBQTtDQ2RYO0FEZkQ7RUFrQ1EsbUJBQUE7RUFDQSwwQkFBQTtFQUNBLGlCQUFBO0VBQ0EsdUJBQUE7Q0NoQlA7QURyQkQ7RUF5Q1EscUJBQUE7RUFDQSxtQkFBQTtDQ2pCUDtBRHpCRDtFQThDUSxvQkFBQTtDQ2xCUDs7QUM1RUQ7RUFF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cUNBQXFDO0VBQ3JDLHFDQUFxQztFQUNyQyx1REFBdUQ7RUFDdkQsd0RBQXdEO0VBQ3hEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTBCQztDQUNGO0FNNVREOztFQ0FRLFVBQUE7RUFDQSxXQUFBO0VBQ0Esd0JBQUE7Q1BnVVA7QU1sVUQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VDT1EsZUFBQTtDUDZWUDtBTXBXRDs7Ozs7Ozs7Ozs7Ozs7RUNXUSxnQkFBQTtFQUNBLG1CQUFBO0NQeVdQO0FNclhEOzs7O0VDZ0JRLGtCQUFBO0VBQ0EsbUJBQUE7Q1AyV1A7QU01WEQ7O0VDcUJRLG1CQUFBO0NQMldQO0FNaFlEOzs7Ozs7OztFQ3lCUSx1QkFBQTtFQUNBLGlCQUFBO0NQaVhQO0FNM1lEOzs7Ozs7Ozs7O0VDOEJRLG1CQUFBO0NQeVhQO0FNdlpEOzs7O0VDa0NRLG9CQUFBO0NQMlhQO0FNN1pEOzs7Ozs7OztFQ3NDUSx1QkFBQTtDUGlZUDtBTXZhRDs7RUMwQ1Esa0JBQUE7Q1BpWVA7QU0zYUQ7O0VDOENRLG1CQUFBO0NQaVlQO0FNL2FEOztFQ2tEUSxvQkFBQTtDUGlZUDtBTW5iRDs7RUNzRFEsc0JBQUE7Q1BpWVA7QU12YkQ7Ozs7RUMwRFEsb0JBQUE7RUFDQSxtQkFBQTtDUG1ZUDtBTTliRDs7RUNnRVEsY0FBQTtDUGtZUDtBTWxjRDs7RUNvRVEsbUJBQUE7RUFDQSxvQkFBQTtDUGtZUDtBTXZjRDs7RUN5RVEsbUJBQUE7RUFDQSxvQkFBQTtFQUNBLGVBQUE7RUFDQSw4QkFBQTtFQUNBLG9CQUFBO0NQa1lQO0FNL2NEOztFQ2lGUSw2QkFBQTtDUGtZUDtBTW5kRDs7RUNxRlEsNkJBQUE7Q1BrWVA7QU12ZEQ7Ozs7Ozs7Ozs7RUN5RlEsc0JBQUE7Q1AwWVA7QU1uZUQ7O0VDOEZRLGVBQUE7Q1B5WVA7QU12ZUQ7O0VDa0dRLGVBQUE7Q1B5WVA7QU0zZUQ7Ozs7RUNzR1EsMkJBQUE7Q1AyWVA7QU1qZkQ7Ozs7Ozs7O0VDMkdRLGFBQUE7Q1BnWlA7QU0zZkQ7O0VDK0dRLGNBQUE7Q1BnWlA7QU0vZkQ7O0VDbUhRLG1CQUFBO0VBQ0EsYUFBQTtDUGdaUDtBTXBnQkQ7Ozs7RUN3SFEsa0NBQUE7Q1BrWlA7QU0xZ0JEOzs7O0VDNEhRLDJCQUFBO0NQb1pQO0FNaGhCRDs7Ozs7O0VDZ0lRLDhCQUFBO0NQd1pQO0FNeGhCRDs7RUNvSVEsdUJBQUE7Q1B3WlA7QU01aEJEOztFQ3dJUSxvQkFBQTtDUHdaUDtBTWhpQkQ7O0VDNElRLHFCQUFBO0NQd1pQO0FNcGlCRDs7RUNnSlEsY0FBQTtFQUNBLGlCQUFBO0NQd1pQO0FNemlCRDs7RUNxSlEsb0JBQUE7Q1B3WlA7QU03aUJEOztFQ3lKUSxpQkFBQTtDUHdaUDtBTWpqQkQ7O0VDNkpRLG9CQUFBO0NQd1pQO0FNcmpCRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQ2lLUSxlQUFBO0NQNGFQO0FNN2tCRDs7RUNxS1EsbUJBQUE7RUFDQSxzQkFBQTtFQUNBLGtCQUFBO0VBQ0Esa0JBQUE7Q1A0YVA7QU1wbEJEOztFQzRLUSxtQkFBQTtFQUNBLHNCQUFBO0VBQ0Esa0JBQUE7RUFDQSxrQkFBQTtDUDRhUDtBTTNsQkQ7O0VDbUxRLG1CQUFBO0VBQ0Esc0JBQUE7RUFDQSxrQkFBQTtFQUNBLGtCQUFBO0NQNGFQO0FNbG1CRDs7RUMwTFEsbUJBQUE7RUFDQSxzQkFBQTtFQUNBLGtCQUFBO0VBQ0Esa0JBQUE7Q1A0YVA7QU16bUJEOztFQ2lNUSxtQkFBQTtFQUNBLHNCQUFBO0VBQ0Esa0JBQUE7RUFDQSxrQkFBQTtDUDRhUDtBTWhuQkQ7O0VDd01RLG1CQUFBO0VBQ0Esc0JBQUE7RUFDQSxrQkFBQTtFQUNBLGtCQUFBO0NQNGFQO0FNdm5CRDs7Ozs7Ozs7Ozs7O0VDK01RLGVBQUE7Q1BzYlA7QU1yb0JEOztFQ21OUSxtQkFBQTtDUHNiUDtBTXpvQkQ7Ozs7Ozs7O0VDdU5RLGdCQUFBO0VBQ0EsbUJBQUE7Q1A0YlA7QU1wcEJEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQytOWSxjQUFBO0VBQ0EsaUJBQUE7Q1B1ZFg7QU12ckJEOztFQ29PUSxrQkFBQTtDUHVkUDtBTTNyQkQ7Ozs7OztFQ3dPUSxtQkFBQTtDUDJkUDtBTW5zQkQ7O0VDNE9RLHlCQUFBO0NQMmRQO0FNdnNCRDs7OztFQ2dQUSxzQkFBQTtDUDZkUDtBTTdzQkQ7Ozs7Ozs7Ozs7OztFQ3NQWSx3QkFBQTtDUHFlWDtBTTN0QkQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQ2tRZ0Isd0JBQUE7Q1ArZmY7QU1qd0JEOztFQ3NRUSxlQUFBO0NQK2ZQO0FNcndCRDs7RUMwUVEsdUJBQUE7Q1ArZlA7QU16d0JEOzs7O0VDOFFRLDRCQUFBO0NQaWdCUDtBTS93QkQ7Ozs7RUNrUlEsc0JBQUE7Q1BtZ0JQO0FNcnhCRDs7OztFQ3NSUSw0QkFBQTtDUHFnQlA7QU0zeEJEOzs7O0VDMFJRLHlCQUFBO0NQdWdCUDtBTWp5QkQ7Ozs7RUM4UlEsNEJBQUE7Q1B5Z0JQO0FNdnlCRDs7OztFQ2tTUSxtQkFBQTtDUDJnQlA7QU03eUJEOzs7Ozs7OztFQ3NTUSxvQkFBQTtDUGloQlA7QU12ekJEOzs7Ozs7Ozs7Ozs7Ozs7O0VDMlNZLHFCQUFBO0NQOGhCWDtBTXowQkQ7O0VDK1NRLHVCQUFBO0VBQ0Esb0JBQUE7RUFDQSwwQkFBQTtFQUNBLHFCQUFBO0NQOGhCUDtBTWgxQkQ7Ozs7RUNzVFEsYUFBQTtDUGdpQlA7QU10MUJEOztFQzBUUSxrQkFBQTtDUGdpQlA7QU0xMUJEOzs7Ozs7OztFQzhUUSx1QkFBQTtDUHNpQlA7QU1wMkJEOzs7Ozs7RUNrVVEsd0JBQUE7Q1AwaUJQO0FNNTJCRDs7Ozs7O0VDc1VRLG1CQUFBO0NQOGlCUDtBTXAzQkQ7Ozs7Ozs7O0VDMFVRLHNCQUFBO0NQb2pCUDtBTTkzQkQ7Ozs7Ozs7Ozs7Ozs7O0VDd1dRLHFCQUFBO0NQc2lCUDtBTTk0QkQ7O0VDNFdRLHNCQUFBO0NQc2lCUDtBTWw1QkQ7Ozs7Ozs7Ozs7Ozs7O0VDaVhRLHVCQUFBO0NQaWpCUDtBTWw2QkQ7Ozs7RUNxWFEscUJBQUE7Q1BtakJQO0FNeDZCRDs7RUN5WFEsWUFBQTtFQUNBLG9CQUFBO0VBQ0Esa0JBQUE7RUFDQSxtQkFBQTtDUG1qQlA7QU0vNkJEOztFQ2dZUSxpQkFBQTtFQUNBLGtCQUFBO0VBQ0EsOEJBQUE7RUFDQSwrQkFBQTtDUG1qQlA7QU10N0JEOztFQ3VZUSxrQkFBQTtFQUNBLG1CQUFBO0NQbWpCUDtBTTM3QkQ7O0VBZW9CLHlCQUFBO0NOZzdCbkI7QU0vN0JEOztFQW1Cb0IsNEJBQUE7Q05nN0JuQjtBTTM2Qk87Ozs7RUFFUSxlQUFBO0VBQ0EsWUFBQTtFQUNBLGdCQUFBO0VBQ0EsYUFBQTtDTis2QmY7QU01OEJEOztFQW1DUSxlQUFBO0VBQ0EsWUFBQTtFQUNBLGdCQUFBO0VBQ0EsYUFBQTtDTjY2QlA7O0FRcDlCRDtFQUVRLDBCQUFBO0VBQ0EsdUJBQUE7RUFDQSxrQkFBQTtFQUNBLGdCQUFBO0VBQ0Esc0JBQUE7Q1JzOUJQO0FRNTlCRDtFQVNZLHNCQUFBO0VBQ0EsWUFBQTtFQUNBLDhDQUFBO0NSczlCWDtBUWorQkQ7RUFlWSxnQkFBQTtDUnE5Qlg7QVFoOUJEO0VBRVEsaUJBQUE7RUFDQSxTQUFBO0VBQ0EsbUJBQUE7RUFDQSxhQUFBO0VBQ0EsaUJBQUE7RUFDQSxzQkFBQTtFQUNBLGtCQUFBO0VBQ0EsaUJBQUE7RUFDQSxhQUFBO0NSaTlCUDtBUTM5QkQ7RUFhWSwwQkFBQTtFQUNBLGFBQUE7RUFDQSwwQkFBQTtDUmk5Qlg7QVFoK0JEO0VBbUJvQixlQUFBO0VBQ0EsbUJBQUE7RUFDQSxzQkFBQTtDUmc5Qm5CO0FROThCbUI7RUFDSSxzQkFBQTtFQUNBLFlBQUE7RUFDQSxrQkFBQTtFQUNBLDhDQUFBO0VBQ0EsbUJBQUE7RUFDQSxpQkFBQTtDUmc5QnZCO0FRNThCZTtFQUVRLGlCQUFBO0NSNjhCdkI7QVEvOEJlO0VBTVEsY0FBQTtDUjQ4QnZCO0FRbi9CRDtFQTRDb0IsZ0JBQUE7Q1IwOEJuQjtBUXQvQkQ7RUFnRG9CLDBCQUFBO0VBQ0EsdUJBQUE7RUFDQSxrQkFBQTtFQUNBLGdCQUFBO0NSeThCbkI7QVE1L0JEO0VBc0R3QixzQkFBQTtFQUNBLFlBQUE7RUFDQSw4Q0FBQTtDUnk4QnZCO0FRamdDRDtFQTREd0IsZ0JBQUE7Q1J3OEJ2QjtBUXBnQ0Q7RUFpRW9CLGdCQUFBO0NSczhCbkI7O0FTM2hDRDtFQUVRLGNBQUE7RUFDQSxtQkFBQTtFQUNBLFVBQUE7RUFHQSxpREFBQTtFQUNBLDBCQUFBO0VBQ0EsZUFBQTtFQUNBLDBCQUFBO0VBQ0EsaUJBQUE7RUFDQSxZQUFBO0VBQ0EsZUFBQTtFQUNBLGlCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxvQkFBQTtFQUNBLG9CQUFBO0VBQ0EsaUJBQUE7Q1Q2aENQO0FTM2hDTztFQUNJLGFBQUE7Q1Q2aENYO0FTbGpDRDtFQXlCWSxxQkFBQTtFQUFBLGNBQUE7RUFDQSxpQkFBQTtDVDRoQ1g7QVN0akNEO0VBNkJnQixpQkFBQTtFQUNBLGlEQUFBO0VBQ0Esa0JBQUE7Q1Q0aENmO0FTM2pDRDtFQW9DWSxpQkFBQTtDVDBoQ1g7QVM5akNEO0VBd0NZLGlCQUFBO0VBQ0Esa0JBQUE7RUFDQSxlQUFBO0NUeWhDWDtBU25rQ0Q7RUE4Q1ksMEJBQUE7RUFDQSxnQkFBQTtDVHdoQ1g7QVN2a0NEOztFQW9EZ0IsWUFBQTtDVHVoQ2Y7QVMza0NEO0VBd0RnQixlQUFBO0VBQ0EsaUJBQUE7Q1RzaENmIiwiZmlsZSI6IkxheW91dEVkaXRvci5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyLvu79AaW1wb3J0IFwiVmFyaWFibGVzLmxlc3NcIjtcclxuXHJcbi5sYXlvdXQtZWRpdG9yLXRvb2xiYXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHRvcDogMTBweDtcclxuXHJcbiAgICAubGF5b3V0LWVkaXRvci10b29sYmFyLWdyb3VwIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG5cclxuICAgICAgICA+IGxpICsgbGkge1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMTJweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5sYXlvdXQtZWRpdG9yIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBtYXJnaW4tdG9wOiAxZW07XHJcbiAgICBmb250LXNpemU6IEBmb250LXNpemU7XHJcblxyXG4gICAgPiAubGF5b3V0LWNhbnZhcy13cmFwcGVyIHtcclxuICAgICAgICBmbGV4OiAxIDE7XHJcbiAgICAgICAgaGVpZ2h0OiBmaXQtY29udGVudDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAZ3JheS1iZztcclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBAZ3JheS1ib3JkZXI7XHJcblxyXG4gICAgICAgID4gLmxheW91dC10b29sYmFyLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgIG1hcmdpbjogQGNvbnRhaW5lci1wYWRkaW5nIEBjb250YWluZXItcGFkZGluZyAwO1xyXG4gICAgICAgICAgICBtaW4taGVpZ2h0OiA3MXB4O1xyXG5cclxuICAgICAgICAgICAgPiAubWNlLXBhbmVsIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5sYXlvdXQtY29udGVudCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgPiAubGF5b3V0LXBsYWNlaG9sZGVyIHtcclxuICAgICAgICAgICAgYm9yZGVyOiAxcHggZGFzaGVkICNjY2M7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDAuMmVtIDAuNGVtO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZThlOGU4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubGF5b3V0LXNuaXBwZXQge1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICNlOGU4ZTg7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5sYXlvdXQtZWRpdG9yLWhlbHAtZGlhbG9nIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcblxyXG4gICAgLmhlbHAtcm93IHtcclxuICAgICAgICAmOmJlZm9yZSwgJjphZnRlciB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiIFwiOyAvLyAxXHJcbiAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlOyAvLyAyXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgY2xlYXI6IGJvdGg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICA+IC5oZWxwLWNvbHVtbi1mdWxsLCA+IC5oZWxwLWNvbHVtbi1oYWxmIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwLjVlbSAwO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgPiAuaGVscC1jb2x1bW4taGFsZiB7XHJcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgICAgICB3aWR0aDogNTAlO1xyXG5cclxuICAgICAgICAgICAgJjpudGgtY2hpbGQoMm4pIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICBjbGVhcjogbGVmdDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgKyAuaGVscC1yb3cge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxZW07XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGNvZGUge1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjNmNGY1O1xyXG4gICAgICAgIHBhZGRpbmc6IDJweCA0cHg7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTtcclxuICAgIH1cclxuXHJcbiAgICBwIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjVlbTtcclxuICAgICAgICBsaW5lLWhlaWdodDogMS42ZW07XHJcbiAgICB9XHJcblxyXG4gICAgdGFibGUgPiB0Ym9keSA+IHRyID4gdGQ6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XHJcbiAgICB9XHJcbn1cclxuIiwiLmxheW91dC1lZGl0b3ItdG9vbGJhciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IDEwcHg7XG59XG4ubGF5b3V0LWVkaXRvci10b29sYmFyIC5sYXlvdXQtZWRpdG9yLXRvb2xiYXItZ3JvdXAge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuLmxheW91dC1lZGl0b3ItdG9vbGJhciAubGF5b3V0LWVkaXRvci10b29sYmFyLWdyb3VwID4gbGkgKyBsaSB7XG4gIG1hcmdpbi1sZWZ0OiAxMnB4O1xufVxuLmxheW91dC1lZGl0b3Ige1xuICBkaXNwbGF5OiBmbGV4O1xuICBtYXJnaW4tdG9wOiAxZW07XG4gIGZvbnQtc2l6ZTogMTRweDtcbn1cbi5sYXlvdXQtZWRpdG9yID4gLmxheW91dC1jYW52YXMtd3JhcHBlciB7XG4gIGZsZXg6IDEgMTtcbiAgaGVpZ2h0OiBmaXQtY29udGVudDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YzZjRmNTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2U0ZTVlNjtcbn1cbi5sYXlvdXQtZWRpdG9yID4gLmxheW91dC1jYW52YXMtd3JhcHBlciA+IC5sYXlvdXQtdG9vbGJhci1jb250YWluZXIge1xuICBkaXNwbGF5OiBub25lO1xuICBtYXJnaW46IDEycHggMTJweCAwO1xuICBtaW4taGVpZ2h0OiA3MXB4O1xufVxuLmxheW91dC1lZGl0b3IgPiAubGF5b3V0LWNhbnZhcy13cmFwcGVyID4gLmxheW91dC10b29sYmFyLWNvbnRhaW5lciA+IC5tY2UtcGFuZWwge1xuICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xufVxuLmxheW91dC1lZGl0b3IgPiAubGF5b3V0LWNhbnZhcy13cmFwcGVyIC5sYXlvdXQtY29udGVudCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgPiAubGF5b3V0LXBsYWNlaG9sZGVyIHtcbiAgYm9yZGVyOiAxcHggZGFzaGVkICNjY2M7XG4gIHBhZGRpbmc6IDAuMmVtIDAuNGVtO1xuICBiYWNrZ3JvdW5kOiAjZThlOGU4O1xufVxuLmxheW91dC1lZGl0b3IgLmxheW91dC1zbmlwcGV0IHtcbiAgYmFja2dyb3VuZDogI2U4ZThlODtcbn1cbi5sYXlvdXQtZWRpdG9yLWhlbHAtZGlhbG9nIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5sYXlvdXQtZWRpdG9yLWhlbHAtZGlhbG9nIC5oZWxwLXJvdzpiZWZvcmUsXG4ubGF5b3V0LWVkaXRvci1oZWxwLWRpYWxvZyAuaGVscC1yb3c6YWZ0ZXIge1xuICBjb250ZW50OiBcIiBcIjtcbiAgZGlzcGxheTogdGFibGU7XG59XG4ubGF5b3V0LWVkaXRvci1oZWxwLWRpYWxvZyAuaGVscC1yb3c6YWZ0ZXIge1xuICBjbGVhcjogYm90aDtcbn1cbi5sYXlvdXQtZWRpdG9yLWhlbHAtZGlhbG9nIC5oZWxwLXJvdyA+IC5oZWxwLWNvbHVtbi1mdWxsLFxuLmxheW91dC1lZGl0b3ItaGVscC1kaWFsb2cgLmhlbHAtcm93ID4gLmhlbHAtY29sdW1uLWhhbGYge1xuICBtYXJnaW46IDAuNWVtIDA7XG59XG4ubGF5b3V0LWVkaXRvci1oZWxwLWRpYWxvZyAuaGVscC1yb3cgPiAuaGVscC1jb2x1bW4taGFsZiB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogNTAlO1xufVxuLmxheW91dC1lZGl0b3ItaGVscC1kaWFsb2cgLmhlbHAtcm93ID4gLmhlbHAtY29sdW1uLWhhbGY6bnRoLWNoaWxkKDJuKSB7XG4gIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gIGNsZWFyOiBsZWZ0O1xufVxuLmxheW91dC1lZGl0b3ItaGVscC1kaWFsb2cgLmhlbHAtcm93ICsgLmhlbHAtcm93IHtcbiAgbWFyZ2luLXRvcDogMWVtO1xufVxuLmxheW91dC1lZGl0b3ItaGVscC1kaWFsb2cgY29kZSB7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YzZjRmNTtcbiAgcGFkZGluZzogMnB4IDRweDtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTtcbn1cbi5sYXlvdXQtZWRpdG9yLWhlbHAtZGlhbG9nIHAge1xuICBtYXJnaW4tYm90dG9tOiAwLjVlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNmVtO1xufVxuLmxheW91dC1lZGl0b3ItaGVscC1kaWFsb2cgdGFibGUgPiB0Ym9keSA+IHRyID4gdGQ6Zmlyc3QtY2hpbGQge1xuICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xufVxuXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWVsZW1lbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgcGFkZGluZzogMDtcbn1cbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtZWxlbWVudDpub3QoLmxheW91dC1jb2x1bW4pIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWVsZW1lbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciA+IC5sYXlvdXQtcGFuZWwge1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1hcmdpbjogMDtcbiAgei1pbmRleDogMjA7XG4gIGhlaWdodDogMjVweDtcbiAgcGFkZGluZzogMCA2cHg7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGxpbmUtaGVpZ2h0OiAyNXB4O1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuLmxheW91dC1lZGl0b3IgLmxheW91dC1lbGVtZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgPiAubGF5b3V0LXBhbmVsID4gLmxheW91dC1wYW5lbC1pdGVtIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBoZWlnaHQ6IDI1cHg7XG4gIHBhZGRpbmc6IDFweCA2cHggMDtcbn1cbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtZWxlbWVudCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyID4gLmxheW91dC1wYW5lbCA+IC5sYXlvdXQtcGFuZWwtbGFiZWwge1xuICBmb250LXNpemU6IDEzcHg7XG59XG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWVsZW1lbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciA+IC5sYXlvdXQtcGFuZWwgPiAubGF5b3V0LXBhbmVsLWFjdGlvbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHdpZHRoOiAyOHB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtZWxlbWVudCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyID4gLmxheW91dC1wYW5lbC1tYWluIHtcbiAgdG9wOiAtMjdweDtcbiAgbGVmdDogLTJweDtcbn1cbi5sYXlvdXQtZWRpdG9yIGxpLmxheW91dC1lbGVtZW50IHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cbi5sYXlvdXQtZWRpdG9yOm5vdCgubGF5b3V0LWVkaXRvci1kcmFnZ2luZykgLmxheW91dC1lbGVtZW50LWFjdGl2ZSxcbi5sYXlvdXQtZWRpdG9yOm5vdCgubGF5b3V0LWVkaXRvci1kcmFnZ2luZykgLmxheW91dC1lbGVtZW50LWZvY3VzZWQge1xuICBib3JkZXItd2lkdGg6IDJweDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbn1cbi5sYXlvdXQtZWRpdG9yOm5vdCgubGF5b3V0LWVkaXRvci1kcmFnZ2luZykgLmxheW91dC1lbGVtZW50LWFjdGl2ZSA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyLFxuLmxheW91dC1lZGl0b3I6bm90KC5sYXlvdXQtZWRpdG9yLWRyYWdnaW5nKSAubGF5b3V0LWVsZW1lbnQtZm9jdXNlZCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIHtcbiAgbWFyZ2luOiAtMnB4O1xufVxuLmxheW91dC1lZGl0b3I6bm90KC5sYXlvdXQtZWRpdG9yLWRyYWdnaW5nKSAubGF5b3V0LWVsZW1lbnQtYWN0aXZlIHtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDEwNCwgMTA0LCAxMDQsIDAuMSk7XG59XG4ubGF5b3V0LWVkaXRvcjpub3QoLmxheW91dC1lZGl0b3ItZHJhZ2dpbmcpIC5sYXlvdXQtZWxlbWVudC1hY3RpdmUgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciA+IC5sYXlvdXQtcGFuZWwtbWFpbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB6LWluZGV4OiAzMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMDQsIDEwNCwgMTA0LCAwLjEpO1xufVxuLmxheW91dC1lZGl0b3I6bm90KC5sYXlvdXQtZWRpdG9yLWRyYWdnaW5nKSAubGF5b3V0LWVsZW1lbnQtZm9jdXNlZCB7XG4gIGJvcmRlci1jb2xvcjogIzY0ODcyMTtcbn1cbi5sYXlvdXQtZWRpdG9yOm5vdCgubGF5b3V0LWVkaXRvci1kcmFnZ2luZykgLmxheW91dC1lbGVtZW50LWZvY3VzZWQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciA+IC5sYXlvdXQtcGFuZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgYmFja2dyb3VuZC1jb2xvcjogIzY0ODcyMTtcbiAgY29sb3I6ICNmZWZlZmU7XG59XG4ubGF5b3V0LWVkaXRvcjpub3QoLmxheW91dC1lZGl0b3ItZHJhZ2dpbmcpIC5sYXlvdXQtZWxlbWVudC1mb2N1c2VkID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgPiAubGF5b3V0LXBhbmVsID4gLmxheW91dC1wYW5lbC1hY3Rpb24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG4ubGF5b3V0LWVkaXRvcjpub3QoLmxheW91dC1lZGl0b3ItZHJhZ2dpbmcpIC5sYXlvdXQtZWxlbWVudC1mb2N1c2VkID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgPiAubGF5b3V0LXBhbmVsID4gLmxheW91dC1wYW5lbC1hY3Rpb246aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjODJiMDJiO1xufVxuLmxheW91dC1lZGl0b3I6bm90KC5sYXlvdXQtZWRpdG9yLWRyYWdnaW5nKSAubGF5b3V0LWVsZW1lbnQtZm9jdXNlZCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyID4gLmxheW91dC1wYW5lbCA+IC5sYXlvdXQtcGFuZWwtYWN0aW9uLmRpc2FibGVkIHtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBjb2xvcjogcmdiYSgyNTQsIDI1NCwgMjU0LCAwLjQpO1xufVxuLmxheW91dC1lZGl0b3I6bm90KC5sYXlvdXQtZWRpdG9yLWRyYWdnaW5nKSAubGF5b3V0LWVsZW1lbnQtZm9jdXNlZCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyID4gLmxheW91dC1wYW5lbCA+IC5sYXlvdXQtcGFuZWwtYWN0aW9uLmRpc2FibGVkOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzY0ODcyMTtcbn1cbi5sYXlvdXQtZWRpdG9yOm5vdCgubGF5b3V0LWVkaXRvci1kcmFnZ2luZykgLmxheW91dC1lbGVtZW50LWZvY3VzZWQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciA+IC5sYXlvdXQtcGFuZWwgPiAubGF5b3V0LXBhbmVsLWFjdGlvbi5hY3RpdmUge1xuICBjb2xvcjogI2RlZmY0MjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzczOWIyNjtcbn1cbi5sYXlvdXQtZWRpdG9yOm5vdCgubGF5b3V0LWVkaXRvci1kcmFnZ2luZykgLmxheW91dC1lbGVtZW50LWZvY3VzZWQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciA+IC5sYXlvdXQtcGFuZWwgPiAubGF5b3V0LXBhbmVsLWFjdGlvbi5hY3RpdmU6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjODJiMDJiO1xufVxuLmxheW91dC1lZGl0b3I6bm90KC5sYXlvdXQtZWRpdG9yLWRyYWdnaW5nKSAubGF5b3V0LWVsZW1lbnQtc2VsZWN0ZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEwMCwgMTM1LCAzMywgMC4wOCk7XG59XG4ubGF5b3V0LWVkaXRvciAudWktc29ydGFibGUtcGxhY2Vob2xkZXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuLmxheW91dC1lZGl0b3IgLmxheW91dC1lbGVtZW50LWRyb3B0YXJnZXQge1xuICBib3gtc2hhZG93OiBpbnNldCAwIDAgMTJweCA2cHggcmdiYSgxMDAsIDEzNSwgMzMsIDAuNSk7XG59XG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWVsZW1lbnQtZHJvcHRhcmdldCAudWktc29ydGFibGUtcGxhY2Vob2xkZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICBtaW4taGVpZ2h0OiA3OHB4O1xuICBib3JkZXI6IDJweCBkYXNoZWQgIzY0ODcyMSAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEwMCwgMTM1LCAzMywgMC4xNik7XG59XG4ubGF5b3V0LWVkaXRvciAubWVkaWEtdGh1bWJuYWlsIGltZyB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWF4LWhlaWdodDogMTAwJTtcbn1cblxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250YWluZXIgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciA+IC5sYXlvdXQtY29udGFpbmVyLWNoaWxkcmVuLXBsYWNlaG9sZGVyIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWFyZ2luOiAxMXB4O1xuICBtaW4taGVpZ2h0OiA4MHB4O1xuICBib3JkZXI6IDFweCBkYXNoZWQgcmdiYSgxMjQsIDEyNCwgMTI0LCAwLjQpO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIHBhZGRpbmc6IDEycHg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBmb250LXNpemU6IDEzcHg7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgb3BhY2l0eTogMC42O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRhaW5lciA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyID4gLmxheW91dC1jaGlsZHJlbiB7XG4gIHBhZGRpbmc6IDEycHg7XG59XG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRhaW5lciA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyID4gLmxheW91dC1jaGlsZHJlbiA+IC5sYXlvdXQtZWxlbWVudDpub3QoLmxheW91dC1jb250YWluZXIpICsgLmxheW91dC1lbGVtZW50Om5vdCgubGF5b3V0LWNvbnRhaW5lcikge1xuICBtYXJnaW4tdG9wOiAxMnB4O1xufVxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250YWluZXIgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciA+IC5sYXlvdXQtY2hpbGRyZW4gPiAudWktc29ydGFibGUtaGVscGVyOmZpcnN0LWNoaWxkICsgLmxheW91dC1lbGVtZW50Om5vdCgubGF5b3V0LWNvbnRhaW5lcikge1xuICBtYXJnaW4tdG9wOiAwO1xufVxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250YWluZXIgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlci5sYXlvdXQtY29udGFpbmVyLWVtcHR5ID4gLmxheW91dC1jb250YWluZXItY2hpbGRyZW4tcGxhY2Vob2xkZXIge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250YWluZXIgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlci5sYXlvdXQtY29udGFpbmVyLWVtcHR5ID4gLmxheW91dC1jaGlsZHJlbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xufVxuLmxheW91dC1lZGl0b3I6bm90KC5sYXlvdXQtZWRpdG9yLWRyYWdnaW5nKSAubGF5b3V0LWNvbnRhaW5lci5sYXlvdXQtZWxlbWVudC1mb2N1c2VkID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgPiAubGF5b3V0LWNoaWxkcmVuID4gLmxheW91dC1lbGVtZW50Om5vdCgubGF5b3V0LWVsZW1lbnQtYWN0aXZlKSB7XG4gIGJvcmRlcjogMXB4IGRhc2hlZCByZ2JhKDEyNCwgMTI0LCAxMjQsIDAuNik7XG59XG4ubGF5b3V0LWVkaXRvcjpub3QoLmxheW91dC1lZGl0b3ItZHJhZ2dpbmcpIC5sYXlvdXQtY29udGFpbmVyLmxheW91dC1lbGVtZW50LWZvY3VzZWQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciA+IC5sYXlvdXQtY2hpbGRyZW4gPiAubGF5b3V0LWVsZW1lbnQ6bm90KC5sYXlvdXQtZWxlbWVudC1hY3RpdmUpID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIge1xuICBtYXJnaW46IC0xcHg7XG59XG4ubGF5b3V0LWVkaXRvcjpub3QoLmxheW91dC1lZGl0b3ItZHJhZ2dpbmcpIC5sYXlvdXQtY29udGFpbmVyLmxheW91dC1lbGVtZW50LWZvY3VzZWQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciA+IC5sYXlvdXQtY2hpbGRyZW4gPiAubGF5b3V0LWNvbnRhaW5lciArIC5sYXlvdXQtY29udGFpbmVyOm5vdCgubGF5b3V0LWVsZW1lbnQtYWN0aXZlKSB7XG4gIGJvcmRlci10b3A6IDA7XG59XG4ubGF5b3V0LWVkaXRvcjpub3QoLmxheW91dC1lZGl0b3ItZHJhZ2dpbmcpIC5sYXlvdXQtY29udGFpbmVyLmxheW91dC1lbGVtZW50LWZvY3VzZWQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciA+IC5sYXlvdXQtY2hpbGRyZW4gPiAubGF5b3V0LWNvbnRhaW5lciArIC5sYXlvdXQtY29udGFpbmVyOm5vdCgubGF5b3V0LWVsZW1lbnQtYWN0aXZlKSA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cblxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jYW52YXMgI2R1bW15IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLmxheW91dC1lZGl0b3IgLmxheW91dC1yb3cubGF5b3V0LWVsZW1lbnQtZm9jdXNlZDpub3QoLmxheW91dC1lbGVtZW50LWRyb3B0YXJnZXQpID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgPiAubGF5b3V0LWNoaWxkcmVuID4gLmxheW91dC1lbGVtZW50Om5vdCgubGF5b3V0LWVsZW1lbnQtYWN0aXZlKSB7XG4gIGJvcmRlci10b3A6IDFweCBkYXNoZWQgcmdiYSgxMjQsIDEyNCwgMTI0LCAwLjYpICFpbXBvcnRhbnQ7XG59XG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LXJvdy5sYXlvdXQtZWxlbWVudC1mb2N1c2VkOm5vdCgubGF5b3V0LWVsZW1lbnQtZHJvcHRhcmdldCkgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciA+IC5sYXlvdXQtY2hpbGRyZW4gPiAubGF5b3V0LWVsZW1lbnQ6bm90KC5sYXlvdXQtZWxlbWVudC1hY3RpdmUpID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIge1xuICBtYXJnaW4tdG9wOiAtMXB4ICFpbXBvcnRhbnQ7XG59XG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LXJvdy5sYXlvdXQtZWxlbWVudC1mb2N1c2VkOm5vdCgubGF5b3V0LWVsZW1lbnQtZHJvcHRhcmdldCkgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciA+IC5sYXlvdXQtY2hpbGRyZW4gPiAubGF5b3V0LWVsZW1lbnQgKyAubGF5b3V0LWVsZW1lbnQ6bm90KC5sYXlvdXQtZWxlbWVudC1hY3RpdmUpIHtcbiAgYm9yZGVyLWxlZnQ6IDAgIWltcG9ydGFudDtcbn1cbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtcm93LmxheW91dC1lbGVtZW50LWZvY3VzZWQ6bm90KC5sYXlvdXQtZWxlbWVudC1kcm9wdGFyZ2V0KSA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyID4gLmxheW91dC1jaGlsZHJlbiA+IC5sYXlvdXQtZWxlbWVudCArIC5sYXlvdXQtZWxlbWVudDpub3QoLmxheW91dC1lbGVtZW50LWFjdGl2ZSkgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciB7XG4gIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG59XG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LXJvdyA+IGRpdiA+IC5sYXlvdXQtY2hpbGRyZW4ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xufVxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb2x1bW4gPiBkaXYgPiAubGF5b3V0LWNoaWxkcmVuIHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb2x1bW4gPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciA+IC5sYXlvdXQtY29sdW1uLXJlc2l6ZS1iYXIge1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDMwO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAxNnB4O1xuICBoZWlnaHQ6IDEwMCU7XG4gIGN1cnNvcjogY29sLXJlc2l6ZTtcbn1cbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtY29sdW1uID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgPiAubGF5b3V0LWNvbHVtbi1yZXNpemUtYmFyLWxlZnQge1xuICBsZWZ0OiAtNnB4O1xufVxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb2x1bW4gPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciA+IC5sYXlvdXQtY29sdW1uLXJlc2l6ZS1iYXItcmlnaHQge1xuICByaWdodDogLTZweDtcbn1cbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtY29sdW1uLmxheW91dC1lbGVtZW50LWZvY3VzZWQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciA+IC5sYXlvdXQtY29sdW1uLXJlc2l6ZS1iYXIge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50LFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1odG1sIHtcbiAgbWluLWhlaWdodDogMWVtO1xufVxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtaHRtbCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAge1xuICBwYWRkaW5nOiAycHg7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgLyogdGhpcyBjb2xvciBpcyBqdXN0IGEgc3VnZ2VzdGlvbiBhbmQgY2FuIGJlIGNoYW5nZWQgYmFzZWQgb24gaW1wbGVtZW50YXRpb24gZmVlZGJhY2sgKi9cbiAgLyogdGhpcyBhbHNvIGhhcyBiaWRpIGltcGxpY2F0aW9ucyAqL1xuICAvKiB0aGlzIGFsc28gaGFzIGJpZGkgaW1wbGljYXRpb25zICovXG4gIC8qIExUUi1zcGVjaWZpYzogdXNlICdtYXJnaW4tcmlnaHQnIGZvciBydGwgZWxlbWVudHMgKi9cbiAgLyogTFRSLXNwZWNpZmljOiB1c2UgJ3BhZGRpbmctcmlnaHQnIGZvciBydGwgZWxlbWVudHMgKi9cbiAgLyp0YWJsZVtydWxlcz1ub25lIGldLCB0YWJsZVtydWxlcz1ncm91cHMgaV0sIHRhYmxlW3J1bGVzPXJvd3MgaV0sXG50YWJsZVtydWxlcz1jb2xzIGldLCB0YWJsZVtydWxlcz1hbGwgaV0sIHRhYmxlW2ZyYW1lPXZvaWQgaV0sXG50YWJsZVtmcmFtZT1hYm92ZSBpXSwgdGFibGVbZnJhbWU9YmVsb3cgaV0sIHRhYmxlW2ZyYW1lPWhzaWRlcyBpXSxcbnRhYmxlW2ZyYW1lPWxocyBpXSwgdGFibGVbZnJhbWU9cmhzIGldLCB0YWJsZVtmcmFtZT12c2lkZXMgaV0sXG50YWJsZVtmcmFtZT1ib3ggaV0sIHRhYmxlW2ZyYW1lPWJvcmRlciBpXSxcbnRhYmxlW3J1bGVzPW5vbmUgaV0gPiB0ciA+IHRkLCB0YWJsZVtydWxlcz1ub25lIGldID4gdHIgPiB0aCxcbnRhYmxlW3J1bGVzPWdyb3VwcyBpXSA+IHRyID4gdGQsIHRhYmxlW3J1bGVzPWdyb3VwcyBpXSA+IHRyID4gdGgsXG50YWJsZVtydWxlcz1yb3dzIGldID4gdHIgPiB0ZCwgdGFibGVbcnVsZXM9cm93cyBpXSA+IHRyID4gdGgsXG50YWJsZVtydWxlcz1jb2xzIGldID4gdHIgPiB0ZCwgdGFibGVbcnVsZXM9Y29scyBpXSA+IHRyID4gdGgsXG50YWJsZVtydWxlcz1hbGwgaV0gPiB0ciA+IHRkLCB0YWJsZVtydWxlcz1hbGwgaV0gPiB0ciA+IHRoLFxudGFibGVbcnVsZXM9bm9uZSBpXSA+IHRoZWFkID4gdHIgPiB0ZCwgdGFibGVbcnVsZXM9bm9uZSBpXSA+IHRoZWFkID4gdHIgPiB0aCxcbnRhYmxlW3J1bGVzPWdyb3VwcyBpXSA+IHRoZWFkID4gdHIgPiB0ZCwgdGFibGVbcnVsZXM9Z3JvdXBzIGldID4gdGhlYWQgPiB0ciA+IHRoLFxudGFibGVbcnVsZXM9cm93cyBpXSA+IHRoZWFkID4gdHIgPiB0ZCwgdGFibGVbcnVsZXM9cm93cyBpXSA+IHRoZWFkID4gdHIgPiB0aCxcbnRhYmxlW3J1bGVzPWNvbHMgaV0gPiB0aGVhZCA+IHRyID4gdGQsIHRhYmxlW3J1bGVzPWNvbHMgaV0gPiB0aGVhZCA+IHRyID4gdGgsXG50YWJsZVtydWxlcz1hbGwgaV0gPiB0aGVhZCA+IHRyID4gdGQsIHRhYmxlW3J1bGVzPWFsbCBpXSA+IHRoZWFkID4gdHIgPiB0aCxcbnRhYmxlW3J1bGVzPW5vbmUgaV0gPiB0Ym9keSA+IHRyID4gdGQsIHRhYmxlW3J1bGVzPW5vbmUgaV0gPiB0Ym9keSA+IHRyID4gdGgsXG50YWJsZVtydWxlcz1ncm91cHMgaV0gPiB0Ym9keSA+IHRyID4gdGQsIHRhYmxlW3J1bGVzPWdyb3VwcyBpXSA+IHRib2R5ID4gdHIgPiB0aCxcbnRhYmxlW3J1bGVzPXJvd3MgaV0gPiB0Ym9keSA+IHRyID4gdGQsIHRhYmxlW3J1bGVzPXJvd3MgaV0gPiB0Ym9keSA+IHRyID4gdGgsXG50YWJsZVtydWxlcz1jb2xzIGldID4gdGJvZHkgPiB0ciA+IHRkLCB0YWJsZVtydWxlcz1jb2xzIGldID4gdGJvZHkgPiB0ciA+IHRoLFxudGFibGVbcnVsZXM9YWxsIGldID4gdGJvZHkgPiB0ciA+IHRkLCB0YWJsZVtydWxlcz1hbGwgaV0gPiB0Ym9keSA+IHRyID4gdGgsXG50YWJsZVtydWxlcz1ub25lIGldID4gdGZvb3QgPiB0ciA+IHRkLCB0YWJsZVtydWxlcz1ub25lIGldID4gdGZvb3QgPiB0ciA+IHRoLFxudGFibGVbcnVsZXM9Z3JvdXBzIGldID4gdGZvb3QgPiB0ciA+IHRkLCB0YWJsZVtydWxlcz1ncm91cHMgaV0gPiB0Zm9vdCA+IHRyID4gdGgsXG50YWJsZVtydWxlcz1yb3dzIGldID4gdGZvb3QgPiB0ciA+IHRkLCB0YWJsZVtydWxlcz1yb3dzIGldID4gdGZvb3QgPiB0ciA+IHRoLFxudGFibGVbcnVsZXM9Y29scyBpXSA+IHRmb290ID4gdHIgPiB0ZCwgdGFibGVbcnVsZXM9Y29scyBpXSA+IHRmb290ID4gdHIgPiB0aCxcbnRhYmxlW3J1bGVzPWFsbCBpXSA+IHRmb290ID4gdHIgPiB0ZCwgdGFibGVbcnVsZXM9YWxsIGldID4gdGZvb3QgPiB0ciA+IHRoIHtcbiAgICBib3JkZXItY29sb3I6IGJsYWNrO1xufSovXG59XG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwICosXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwICoge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xufVxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBhZGRyZXNzLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1odG1sID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBhZGRyZXNzLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBibG9ja3F1b3RlLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1odG1sID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBibG9ja3F1b3RlLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBjZW50ZXIsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIGNlbnRlcixcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtY29udGVudCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgZGl2LFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1odG1sID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBkaXYsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIGZpZ3VyZSxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtaHRtbCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgZmlndXJlLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBmaWdjYXB0aW9uLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1odG1sID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBmaWdjYXB0aW9uLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBmb290ZXIsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIGZvb3Rlcixcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtY29udGVudCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgZm9ybSxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtaHRtbCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgZm9ybSxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtY29udGVudCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgaGVhZGVyLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1odG1sID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBoZWFkZXIsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIGhyLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1odG1sID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBocixcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtY29udGVudCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgbGVnZW5kLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1odG1sID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBsZWdlbmQsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIGxpc3RpbmcsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIGxpc3RpbmcsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIHAsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIHAsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIHBsYWludGV4dCxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtaHRtbCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgcGxhaW50ZXh0LFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBwcmUsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIHByZSxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtY29udGVudCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgeG1wLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1odG1sID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCB4bXAge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtY29udGVudCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgYmxvY2txdW90ZSxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtaHRtbCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgYmxvY2txdW90ZSxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtY29udGVudCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgZmlndXJlLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1odG1sID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBmaWd1cmUsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIGxpc3RpbmcsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIGxpc3RpbmcsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIHAsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIHAsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIHBsYWludGV4dCxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtaHRtbCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgcGxhaW50ZXh0LFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBwcmUsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIHByZSxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtY29udGVudCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgeG1wLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1odG1sID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCB4bXAge1xuICBtYXJnaW4tdG9wOiAxZW07XG4gIG1hcmdpbi1ib3R0b206IDFlbTtcbn1cbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtY29udGVudCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgYmxvY2txdW90ZSxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtaHRtbCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgYmxvY2txdW90ZSxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtY29udGVudCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgZmlndXJlLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1odG1sID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBmaWd1cmUge1xuICBtYXJnaW4tbGVmdDogNDBweDtcbiAgbWFyZ2luLXJpZ2h0OiA0MHB4O1xufVxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBhZGRyZXNzLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1odG1sID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBhZGRyZXNzIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBsaXN0aW5nLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1odG1sID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBsaXN0aW5nLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBwbGFpbnRleHQsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIHBsYWludGV4dCxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtY29udGVudCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgcHJlLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1odG1sID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBwcmUsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIHhtcCxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtaHRtbCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgeG1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTtcbiAgd2hpdGUtc3BhY2U6IHByZTtcbn1cbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtY29udGVudCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgY2l0ZSxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtaHRtbCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgY2l0ZSxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtY29udGVudCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgZGZuLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1odG1sID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBkZm4sXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIGVtLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1odG1sID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBlbSxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtY29udGVudCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgaSxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtaHRtbCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgaSxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtY29udGVudCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgdmFyLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1odG1sID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCB2YXIge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIGIsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIGIsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIHN0cm9uZyxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtaHRtbCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbn1cbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtY29udGVudCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgY29kZSxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtaHRtbCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgY29kZSxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtY29udGVudCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAga2JkLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1odG1sID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBrYmQsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIHNhbXAsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIHNhbXAsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIHR0LFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1odG1sID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCB0dCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7XG59XG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIGJpZyxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtaHRtbCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgYmlnIHtcbiAgZm9udC1zaXplOiBsYXJnZXI7XG59XG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIHNtYWxsLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1odG1sID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBzbWFsbCB7XG4gIGZvbnQtc2l6ZTogc21hbGxlcjtcbn1cbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtY29udGVudCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgc3ViLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1odG1sID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBzdWIge1xuICB2ZXJ0aWNhbC1hbGlnbjogc3ViO1xufVxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBzdXAsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIHN1cCB7XG4gIHZlcnRpY2FsLWFsaWduOiBzdXBlcjtcbn1cbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtY29udGVudCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgc3ViLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1odG1sID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBzdWIsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIHN1cCxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtaHRtbCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgc3VwIHtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zaXplOiBzbWFsbGVyO1xufVxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBydWJ5LFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1odG1sID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBydWJ5IHtcbiAgZGlzcGxheTogcnVieTtcbn1cbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtY29udGVudCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgcmIsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIHJiIHtcbiAgZGlzcGxheTogcnVieS1iYXNlO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBydCxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtaHRtbCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgcnQge1xuICBkaXNwbGF5OiBydWJ5LXRleHQ7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGZvbnQtc2l6ZTogNTAlO1xuICBmb250LXZhcmlhbnQtZWFzdC1hc2lhbjogcnVieTtcbiAgdGV4dC1lbXBoYXNpczogbm9uZTtcbn1cbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtY29udGVudCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgcmJjLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1odG1sID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCByYmMge1xuICBkaXNwbGF5OiBydWJ5LWJhc2UtY29udGFpbmVyO1xufVxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBydGMsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIHJ0YyB7XG4gIGRpc3BsYXk6IHJ1YnktdGV4dC1jb250YWluZXI7XG59XG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIHJ1YnksXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIHJ1YnksXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIHJiLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1odG1sID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCByYixcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtY29udGVudCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgcnQsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIHJ0LFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCByYmMsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIHJiYyxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtY29udGVudCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgcnRjLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1odG1sID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBydGMge1xuICB1bmljb2RlLWJpZGk6IGlzb2xhdGU7XG59XG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIDpsaW5rLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1odG1sID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCA6bGluayB7XG4gIGNvbG9yOiAjMDAwMEVFO1xufVxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCA6dmlzaXRlZCxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtaHRtbCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgOnZpc2l0ZWQge1xuICBjb2xvcjogIzU1MUE4Qjtcbn1cbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtY29udGVudCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgOmxpbmssXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIDpsaW5rLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCA6dmlzaXRlZCxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtaHRtbCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgOnZpc2l0ZWQge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtY29udGVudCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgYTpsaW5rW3JlbH49aGVscF0sXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIGE6bGlua1tyZWx+PWhlbHBdLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBhOnZpc2l0ZWRbcmVsfj1oZWxwXSxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtaHRtbCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgYTp2aXNpdGVkW3JlbH49aGVscF0sXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIGFyZWE6bGlua1tyZWx+PWhlbHBdLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1odG1sID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBhcmVhOmxpbmtbcmVsfj1oZWxwXSxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtY29udGVudCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgYXJlYTp2aXNpdGVkW3JlbH49aGVscF0sXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIGFyZWE6dmlzaXRlZFtyZWx+PWhlbHBdIHtcbiAgY3Vyc29yOiBoZWxwO1xufVxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCA6Zm9jdXMsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIDpmb2N1cyB7XG4gIG91dGxpbmU6IGF1dG87XG59XG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIG1hcmssXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIG1hcmsge1xuICBiYWNrZ3JvdW5kOiB5ZWxsb3c7XG4gIGNvbG9yOiBibGFjaztcbn1cbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtY29udGVudCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgYWJiclt0aXRsZV0sXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIGFiYnJbdGl0bGVdLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBhY3JvbnltW3RpdGxlXSxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtaHRtbCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgYWNyb255bVt0aXRsZV0ge1xuICB0ZXh0LWRlY29yYXRpb246IGRvdHRlZCB1bmRlcmxpbmU7XG59XG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIGlucyxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtaHRtbCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgaW5zLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCB1LFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1odG1sID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCB1IHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIGRlbCxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtaHRtbCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgZGVsLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBzLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1odG1sID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBzLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBzdHJpa2UsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIHN0cmlrZSB7XG4gIHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoO1xufVxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBibGluayxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtaHRtbCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgYmxpbmsge1xuICB0ZXh0LWRlY29yYXRpb246IGJsaW5rO1xufVxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBxOjpiZWZvcmUsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIHE6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IG9wZW4tcXVvdGU7XG59XG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIHE6OmFmdGVyLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1odG1sID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBxOjphZnRlciB7XG4gIGNvbnRlbnQ6IGNsb3NlLXF1b3RlO1xufVxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBicjo6YmVmb3JlLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1odG1sID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBicjo6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcQSc7XG4gIHdoaXRlLXNwYWNlOiBwcmU7XG59XG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIG5vYnIsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIG5vYnIge1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCB3YnIsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIHdiciB7XG4gIGNvbnRlbnQ6ICdcXDIwMEInO1xufVxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBub2JyIHdicixcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtaHRtbCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgbm9iciB3YnIge1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xufVxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBhcnRpY2xlLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1odG1sID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBhcnRpY2xlLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBhc2lkZSxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtaHRtbCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgYXNpZGUsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIGgxLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1odG1sID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBoMSxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtY29udGVudCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgaDIsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIGgyLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBoMyxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtaHRtbCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgaDMsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIGg0LFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1odG1sID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBoNCxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtY29udGVudCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgaDUsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIGg1LFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBoNixcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtaHRtbCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgaDYsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIGhncm91cCxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtaHRtbCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgaGdyb3VwLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBuYXYsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIG5hdixcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtY29udGVudCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgc2VjdGlvbixcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtaHRtbCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgc2VjdGlvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBoMSxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtaHRtbCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgaDEge1xuICBtYXJnaW4tdG9wOiAwLjY3ZW07XG4gIG1hcmdpbi1ib3R0b206IDAuNjdlbTtcbiAgZm9udC1zaXplOiAyLjAwZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBoMixcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtaHRtbCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgaDIge1xuICBtYXJnaW4tdG9wOiAwLjgzZW07XG4gIG1hcmdpbi1ib3R0b206IDAuODNlbTtcbiAgZm9udC1zaXplOiAxLjUwZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBoMyxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtaHRtbCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgaDMge1xuICBtYXJnaW4tdG9wOiAxLjAwZW07XG4gIG1hcmdpbi1ib3R0b206IDEuMDBlbTtcbiAgZm9udC1zaXplOiAxLjE3ZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBoNCxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtaHRtbCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgaDQge1xuICBtYXJnaW4tdG9wOiAxLjMzZW07XG4gIG1hcmdpbi1ib3R0b206IDEuMzNlbTtcbiAgZm9udC1zaXplOiAxLjAwZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBoNSxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtaHRtbCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgaDUge1xuICBtYXJnaW4tdG9wOiAxLjY3ZW07XG4gIG1hcmdpbi1ib3R0b206IDEuNjdlbTtcbiAgZm9udC1zaXplOiAwLjgzZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBoNixcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtaHRtbCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgaDYge1xuICBtYXJnaW4tdG9wOiAyLjMzZW07XG4gIG1hcmdpbi1ib3R0b206IDIuMzNlbTtcbiAgZm9udC1zaXplOiAwLjY3ZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBkaXIsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIGRpcixcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtY29udGVudCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgZGQsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIGRkLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBkbCxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtaHRtbCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgZGwsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIGR0LFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1odG1sID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBkdCxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtY29udGVudCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgb2wsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIG9sLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCB1bCxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtaHRtbCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgdWwge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtY29udGVudCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgbGksXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIGxpIHtcbiAgZGlzcGxheTogbGlzdC1pdGVtO1xufVxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBkaXIsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIGRpcixcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtY29udGVudCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgZGwsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIGRsLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBvbCxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtaHRtbCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgb2wsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIHVsLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1odG1sID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCB1bCB7XG4gIG1hcmdpbi10b3A6IDFlbTtcbiAgbWFyZ2luLWJvdHRvbTogMWVtO1xufVxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBkaXIgZGlyLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1odG1sID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBkaXIgZGlyLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBkaXIgZGwsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIGRpciBkbCxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtY29udGVudCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgZGlyIG9sLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1odG1sID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBkaXIgb2wsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIGRpciB1bCxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtaHRtbCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgZGlyIHVsLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBkbCBkaXIsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIGRsIGRpcixcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtY29udGVudCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgZGwgZGwsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIGRsIGRsLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBkbCBvbCxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtaHRtbCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgZGwgb2wsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIGRsIHVsLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1odG1sID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBkbCB1bCxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtY29udGVudCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgb2wgZGlyLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1odG1sID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBvbCBkaXIsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIG9sIGRsLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1odG1sID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBvbCBkbCxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtY29udGVudCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgb2wgb2wsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIG9sIG9sLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBvbCB1bCxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtaHRtbCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgb2wgdWwsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIHVsIGRpcixcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtaHRtbCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgdWwgZGlyLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCB1bCBkbCxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtaHRtbCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgdWwgZGwsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIHVsIG9sLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1odG1sID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCB1bCBvbCxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtY29udGVudCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgdWwgdWwsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIHVsIHVsIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtY29udGVudCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgZGQsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIGRkIHtcbiAgbWFyZ2luLWxlZnQ6IDQwcHg7XG59XG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIGRpcixcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtaHRtbCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgZGlyLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBvbCxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtaHRtbCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgb2wsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIHVsLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1odG1sID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCB1bCB7XG4gIHBhZGRpbmctbGVmdDogNDBweDtcbn1cbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtY29udGVudCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgb2wsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIG9sIHtcbiAgbGlzdC1zdHlsZS10eXBlOiBkZWNpbWFsO1xufVxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBkaXIsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIGRpcixcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtY29udGVudCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgdWwsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIHVsIHtcbiAgbGlzdC1zdHlsZS10eXBlOiBkaXNjO1xufVxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBkaXIgZGlyLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1odG1sID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBkaXIgZGlyLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBkaXIgdWwsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIGRpciB1bCxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtY29udGVudCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgb2wgZGlyLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1odG1sID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBvbCBkaXIsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIG9sIHVsLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1odG1sID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBvbCB1bCxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtY29udGVudCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgdWwgZGlyLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1odG1sID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCB1bCBkaXIsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIHVsIHVsLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1odG1sID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCB1bCB1bCB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogY2lyY2xlO1xufVxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBkaXIgZGlyIGRpcixcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtaHRtbCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgZGlyIGRpciBkaXIsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIGRpciBkaXIgdWwsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIGRpciBkaXIgdWwsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIGRpciBvbCBkaXIsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIGRpciBvbCBkaXIsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIGRpciBvbCB1bCxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtaHRtbCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgZGlyIG9sIHVsLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBkaXIgdWwgZGlyLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1odG1sID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBkaXIgdWwgZGlyLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBkaXIgdWwgdWwsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIGRpciB1bCB1bCxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtY29udGVudCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgb2wgZGlyIGRpcixcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtaHRtbCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgb2wgZGlyIGRpcixcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtY29udGVudCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgb2wgZGlyIHVsLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1odG1sID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBvbCBkaXIgdWwsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIG9sIG9sIGRpcixcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtaHRtbCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgb2wgb2wgZGlyLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBvbCBvbCB1bCxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtaHRtbCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgb2wgb2wgdWwsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIG9sIHVsIGRpcixcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtaHRtbCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgb2wgdWwgZGlyLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBvbCB1bCB1bCxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtaHRtbCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgb2wgdWwgdWwsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIHVsIGRpciBkaXIsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIHVsIGRpciBkaXIsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIHVsIGRpciB1bCxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtaHRtbCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgdWwgZGlyIHVsLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCB1bCBvbCBkaXIsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIHVsIG9sIGRpcixcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtY29udGVudCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgdWwgb2wgdWwsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIHVsIG9sIHVsLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCB1bCB1bCBkaXIsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIHVsIHVsIGRpcixcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtY29udGVudCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgdWwgdWwgdWwsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIHVsIHVsIHVsIHtcbiAgbGlzdC1zdHlsZS10eXBlOiBzcXVhcmU7XG59XG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIHRhYmxlLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1odG1sID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCB0YWJsZSB7XG4gIGRpc3BsYXk6IHRhYmxlO1xufVxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBjYXB0aW9uLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1odG1sID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBjYXB0aW9uIHtcbiAgZGlzcGxheTogdGFibGUtY2FwdGlvbjtcbn1cbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtY29udGVudCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgY29sZ3JvdXAsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIGNvbGdyb3VwLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBjb2xncm91cFtoaWRkZW5dLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1odG1sID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBjb2xncm91cFtoaWRkZW5dIHtcbiAgZGlzcGxheTogdGFibGUtY29sdW1uLWdyb3VwO1xufVxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBjb2wsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIGNvbCxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtY29udGVudCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgY29sW2hpZGRlbl0sXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIGNvbFtoaWRkZW5dIHtcbiAgZGlzcGxheTogdGFibGUtY29sdW1uO1xufVxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCB0aGVhZCxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtaHRtbCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgdGhlYWQsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIHRoZWFkW2hpZGRlbl0sXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIHRoZWFkW2hpZGRlbl0ge1xuICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXA7XG59XG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIHRib2R5LFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1odG1sID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCB0Ym9keSxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtY29udGVudCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgdGJvZHlbaGlkZGVuXSxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtaHRtbCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgdGJvZHlbaGlkZGVuXSB7XG4gIGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cDtcbn1cbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtY29udGVudCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgdGZvb3QsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIHRmb290LFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCB0Zm9vdFtoaWRkZW5dLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1odG1sID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCB0Zm9vdFtoaWRkZW5dIHtcbiAgZGlzcGxheTogdGFibGUtZm9vdGVyLWdyb3VwO1xufVxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCB0cixcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtaHRtbCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgdHIsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIHRyW2hpZGRlbl0sXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIHRyW2hpZGRlbl0ge1xuICBkaXNwbGF5OiB0YWJsZS1yb3c7XG59XG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIHRkLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1odG1sID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCB0ZCxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtY29udGVudCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgdGgsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIHRoLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCB0ZFtoaWRkZW5dLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1odG1sID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCB0ZFtoaWRkZW5dLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCB0aFtoaWRkZW5dLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1odG1sID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCB0aFtoaWRkZW5dIHtcbiAgZGlzcGxheTogdGFibGUtY2VsbDtcbn1cbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtY29udGVudCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgY29sZ3JvdXBbaGlkZGVuXSxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtaHRtbCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgY29sZ3JvdXBbaGlkZGVuXSxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtY29udGVudCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgY29sW2hpZGRlbl0sXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIGNvbFtoaWRkZW5dLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCB0aGVhZFtoaWRkZW5dLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1odG1sID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCB0aGVhZFtoaWRkZW5dLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCB0Ym9keVtoaWRkZW5dLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1odG1sID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCB0Ym9keVtoaWRkZW5dLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCB0Zm9vdFtoaWRkZW5dLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1odG1sID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCB0Zm9vdFtoaWRkZW5dLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCB0cltoaWRkZW5dLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1odG1sID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCB0cltoaWRkZW5dLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCB0ZFtoaWRkZW5dLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1odG1sID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCB0ZFtoaWRkZW5dLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCB0aFtoaWRkZW5dLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1odG1sID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCB0aFtoaWRkZW5dIHtcbiAgdmlzaWJpbGl0eTogY29sbGFwc2U7XG59XG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIHRhYmxlLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1odG1sID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCB0YWJsZSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGJvcmRlci1zcGFjaW5nOiAycHg7XG4gIGJvcmRlci1jb2xsYXBzZTogc2VwYXJhdGU7XG4gIHRleHQtaW5kZW50OiBpbml0aWFsO1xufVxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCB0ZCxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtaHRtbCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgdGQsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIHRoLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1odG1sID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCB0aCB7XG4gIHBhZGRpbmc6IDFweDtcbn1cbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtY29udGVudCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgdGgsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIHRoIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIHRoZWFkLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1odG1sID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCB0aGVhZCxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtY29udGVudCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgdGJvZHksXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIHRib2R5LFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCB0Zm9vdCxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtaHRtbCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgdGZvb3QsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIHRhYmxlID4gdHIsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIHRhYmxlID4gdHIge1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCB0cixcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtaHRtbCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgdHIsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIHRkLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1odG1sID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCB0ZCxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtY29udGVudCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgdGgsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIHRoIHtcbiAgdmVydGljYWwtYWxpZ246IGluaGVyaXQ7XG59XG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIHRhYmxlLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1odG1sID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCB0YWJsZSxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtY29udGVudCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgdGQsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIHRkLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCB0aCxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtaHRtbCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgdGgge1xuICBib3JkZXItY29sb3I6IGdyYXk7XG59XG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIHRoZWFkLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1odG1sID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCB0aGVhZCxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtY29udGVudCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgdGJvZHksXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIHRib2R5LFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCB0Zm9vdCxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtaHRtbCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgdGZvb3QsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIHRyLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1odG1sID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCB0ciB7XG4gIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbn1cbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtY29udGVudCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgaW5wdXQsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIGlucHV0LFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBzZWxlY3QsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIHNlbGVjdCxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtY29udGVudCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgb3B0aW9uLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1odG1sID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBvcHRpb24sXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIG9wdGdyb3VwLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1odG1sID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBvcHRncm91cCxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtY29udGVudCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgYnV0dG9uLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1odG1sID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBidXR0b24sXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIHRleHRhcmVhLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1odG1sID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCB0ZXh0YXJlYSxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtY29udGVudCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAga2V5Z2VuLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1odG1sID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBrZXlnZW4ge1xuICB0ZXh0LWluZGVudDogaW5pdGlhbDtcbn1cbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtY29udGVudCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgdGV4dGFyZWEsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIHRleHRhcmVhIHtcbiAgd2hpdGUtc3BhY2U6IHByZS13cmFwO1xufVxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBpbnB1dFt0eXBlPVwicmFkaW9cIl0sXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIGlucHV0W3R5cGU9XCJyYWRpb1wiXSxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtY29udGVudCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1odG1sID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIGlucHV0W3R5cGU9XCJyZXNldFwiXSxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtaHRtbCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgaW5wdXRbdHlwZT1cInJlc2V0XCJdLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1odG1sID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBpbnB1dFt0eXBlPVwic3VibWl0XCJdLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1odG1sID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBpbnB1dFt0eXBlPVwic3VibWl0XCJdLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBzZWxlY3QsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIHNlbGVjdCxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtY29udGVudCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgYnV0dG9uLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1odG1sID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBidXR0b24ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1odG1sID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBidXR0b24sXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIGJ1dHRvbiB7XG4gIHBhZGRpbmc6IDAuM2VtIDAuNWVtO1xufVxuLmxheW91dC1lZGl0b3IgLmxheW91dC1jb250ZW50ID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCBocixcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtaHRtbCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgaHIge1xuICBjb2xvcjogZ3JheTtcbiAgYm9yZGVyLXN0eWxlOiBpbnNldDtcbiAgYm9yZGVyLXdpZHRoOiAxcHg7XG4gIG1hcmdpbjogMC41ZW0gYXV0bztcbn1cbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtY29udGVudCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgZmllbGRzZXQsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIGZpZWxkc2V0IHtcbiAgbWFyZ2luLWxlZnQ6IDJweDtcbiAgbWFyZ2luLXJpZ2h0OiAycHg7XG4gIGJvcmRlcjogZ3Jvb3ZlIDJweCBUaHJlZURGYWNlO1xuICBwYWRkaW5nOiAwLjM1ZW0gMC42MjVlbSAwLjc1ZW07XG59XG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwIGxlZ2VuZCxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtaHRtbCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgbGVnZW5kIHtcbiAgcGFkZGluZy1sZWZ0OiAycHg7XG4gIHBhZGRpbmctcmlnaHQ6IDJweDtcbn1cbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtY29udGVudCA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIC5sYXlvdXQtY29udGVudC1tYXJrdXAgPiAqOmZpcnN0LWNoaWxkLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1odG1sID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCA+ICo6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG59XG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWNvbnRlbnQgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciAubGF5b3V0LWNvbnRlbnQtbWFya3VwID4gKjpsYXN0LWNoaWxkLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1odG1sID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgLmxheW91dC1jb250ZW50LW1hcmt1cCA+ICo6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbn1cbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtY29udGVudC5sYXlvdXQtY29udGVudC1pbWFnZSA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyID4gLmxheW91dC1jb250ZW50LW1hcmt1cCA+IGltZyxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtaHRtbC5sYXlvdXQtY29udGVudC1pbWFnZSA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyID4gLmxheW91dC1jb250ZW50LW1hcmt1cCA+IGltZyxcbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtY29udGVudC5sYXlvdXQtY29udGVudC12ZWN0b3ItaW1hZ2UgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciA+IC5sYXlvdXQtY29udGVudC1tYXJrdXAgPiBpbWcsXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LWh0bWwubGF5b3V0LWNvbnRlbnQtdmVjdG9yLWltYWdlID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgPiAubGF5b3V0LWNvbnRlbnQtbWFya3VwID4gaW1nIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbn1cbi5sYXlvdXQtZWRpdG9yIC5pbWctcmVzcG9uc2l2ZSxcbi5sYXlvdXQtZWRpdG9yIC5pbWctcmVzcG9uc2l2ZSBpbWcge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5ib2R5IC5sYXlvdXQtdG9vbGJveC1pdGVtIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2U0ZTVlNjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgcGFkZGluZzogOXB4IDEycHg7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xufVxuYm9keSAubGF5b3V0LXRvb2xib3gtaXRlbSBpIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMTZweDtcbiAgZm9udDogbm9ybWFsIG5vcm1hbCBub3JtYWwgMTRweC8xIEZvbnRBd2Vzb21lO1xufVxuYm9keSAubGF5b3V0LXRvb2xib3gtaXRlbSArIC5sYXlvdXQtdG9vbGJveC1pdGVtIHtcbiAgbWFyZ2luLXRvcDogNHB4O1xufVxuLmxheW91dC1lZGl0b3IgPiAubGF5b3V0LXRvb2xib3gtd3JhcHBlciB7XG4gIHBvc2l0aW9uOiBzdGlja3k7XG4gIHRvcDogMXZoO1xuICBwYWRkaW5nLWxlZnQ6IDEycHg7XG4gIHdpZHRoOiAyMjBweDtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgc2Nyb2xsYmFyLXdpZHRoOiB0aGluO1xuICBtaW4taGVpZ2h0OiA0MDBweDtcbiAgbWF4LWhlaWdodDogOTh2aDtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuLmxheW91dC1lZGl0b3IgPiAubGF5b3V0LXRvb2xib3gtd3JhcHBlciA+IC5sYXlvdXQtdG9vbGJveCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlNGU1ZTY7XG4gIHBhZGRpbmc6IDZweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YzZjRmNTtcbn1cbi5sYXlvdXQtZWRpdG9yID4gLmxheW91dC10b29sYm94LXdyYXBwZXIgPiAubGF5b3V0LXRvb2xib3ggLmxheW91dC10b29sYm94LWdyb3VwIC5sYXlvdXQtdG9vbGJveC1ncm91cC1oZWFkaW5nIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206IDRweDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuLmxheW91dC1lZGl0b3IgPiAubGF5b3V0LXRvb2xib3gtd3JhcHBlciA+IC5sYXlvdXQtdG9vbGJveCAubGF5b3V0LXRvb2xib3gtZ3JvdXAgLmxheW91dC10b29sYm94LWdyb3VwLWhlYWRpbmc6YmVmb3JlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMTBweDtcbiAgbWFyZ2luLXJpZ2h0OiA0cHg7XG4gIGZvbnQ6IG5vcm1hbCBub3JtYWwgbm9ybWFsIDE0cHgvMSBGb250QXdlc29tZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjb250ZW50OiBcIlxcZjBkN1wiO1xufVxuLmxheW91dC1lZGl0b3IgPiAubGF5b3V0LXRvb2xib3gtd3JhcHBlciA+IC5sYXlvdXQtdG9vbGJveCAubGF5b3V0LXRvb2xib3gtZ3JvdXAuY29sbGFwc2VkIC5sYXlvdXQtdG9vbGJveC1ncm91cC1oZWFkaW5nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGRhXCI7XG59XG4ubGF5b3V0LWVkaXRvciA+IC5sYXlvdXQtdG9vbGJveC13cmFwcGVyID4gLmxheW91dC10b29sYm94IC5sYXlvdXQtdG9vbGJveC1ncm91cC5jb2xsYXBzZWQgLmxheW91dC10b29sYm94LWl0ZW1zIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5sYXlvdXQtZWRpdG9yID4gLmxheW91dC10b29sYm94LXdyYXBwZXIgPiAubGF5b3V0LXRvb2xib3ggLmxheW91dC10b29sYm94LWdyb3VwIC5sYXlvdXQtdG9vbGJveC1zZWN0aW9uICsgLmxheW91dC10b29sYm94LXNlY3Rpb24ge1xuICBtYXJnaW4tdG9wOiA0cHg7XG59XG4ubGF5b3V0LWVkaXRvciA+IC5sYXlvdXQtdG9vbGJveC13cmFwcGVyID4gLmxheW91dC10b29sYm94IC5sYXlvdXQtdG9vbGJveC1ncm91cCAubGF5b3V0LXRvb2xib3gtaXRlbSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlNGU1ZTY7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIHBhZGRpbmc6IDlweCAxMnB4O1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG4ubGF5b3V0LWVkaXRvciA+IC5sYXlvdXQtdG9vbGJveC13cmFwcGVyID4gLmxheW91dC10b29sYm94IC5sYXlvdXQtdG9vbGJveC1ncm91cCAubGF5b3V0LXRvb2xib3gtaXRlbSBpIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMTZweDtcbiAgZm9udDogbm9ybWFsIG5vcm1hbCBub3JtYWwgMTRweC8xIEZvbnRBd2Vzb21lO1xufVxuLmxheW91dC1lZGl0b3IgPiAubGF5b3V0LXRvb2xib3gtd3JhcHBlciA+IC5sYXlvdXQtdG9vbGJveCAubGF5b3V0LXRvb2xib3gtZ3JvdXAgLmxheW91dC10b29sYm94LWl0ZW0gKyAubGF5b3V0LXRvb2xib3gtaXRlbSB7XG4gIG1hcmdpbi10b3A6IDRweDtcbn1cbi5sYXlvdXQtZWRpdG9yID4gLmxheW91dC10b29sYm94LXdyYXBwZXIgPiAubGF5b3V0LXRvb2xib3ggLmxheW91dC10b29sYm94LWdyb3VwICsgLmxheW91dC10b29sYm94LWdyb3VwIHtcbiAgbWFyZ2luLXRvcDogNnB4O1xufVxuXG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LXBvcHVwIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBtYXJnaW46IDA7XG4gIC1tb3otYm94LXNoYWRvdzogM3B4IDNweCAxMXB4IDAgcmdiYSg1MCwgNTAsIDUwLCAwLjUpO1xuICAtd2Via2l0LWJveC1zaGFkb3c6IDNweCAzcHggMTFweCAwIHJnYmEoNTAsIDUwLCA1MCwgMC41KTtcbiAgYm94LXNoYWRvdzogM3B4IDNweCAxMXB4IDAgcmdiYSg1MCwgNTAsIDUwLCAwLjUpO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTRlNWU2O1xuICBwYWRkaW5nOiAycHggMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y3ZjdmNztcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgei1pbmRleDogMjA7XG4gIGNvbG9yOiAjN2M3YzdjO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gIG1pbi13aWR0aDogMzAwcHg7XG59XG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LXBvcHVwLndpZGUge1xuICB3aWR0aDogNjAwcHg7XG59XG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LXBvcHVwIC5sYXlvdXQtcG9wdXAtZmxleCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBhZGRpbmc6IDJweCA1cHg7XG59XG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LXBvcHVwIC5sYXlvdXQtcG9wdXAtZmxleCAubGF5b3V0LXBvcHVwLWNvbHVtbiArIC5sYXlvdXQtcG9wdXAtY29sdW1uIHtcbiAgbWFyZ2luLWxlZnQ6IDRweDtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCByZ2JhKDEyOCwgMTI4LCAxMjgsIDAuMTUpO1xuICBwYWRkaW5nLWxlZnQ6IDRweDtcbn1cbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtcG9wdXAgLmxheW91dC1wb3B1cC1pdGVtIHtcbiAgcGFkZGluZzogNHB4IDZweDtcbn1cbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtcG9wdXAgLmxheW91dC1wb3B1cC1sYWJlbCB7XG4gIGZvbnQtc2l6ZTogMC45ZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogIzdjN2M3Yztcbn1cbi5sYXlvdXQtZWRpdG9yIC5sYXlvdXQtcG9wdXAgLmxheW91dC1wb3B1cC1hY3Rpb246aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjNmNGY1O1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LXBvcHVwIC5sYXlvdXQtcG9wdXAtaW5wdXQgaW5wdXRbdHlwZT0ndGV4dCddLFxuLmxheW91dC1lZGl0b3IgLmxheW91dC1wb3B1cCAubGF5b3V0LXBvcHVwLWlucHV0IHRleHRhcmVhIHtcbiAgd2lkdGg6IDEwMCU7XG59XG4ubGF5b3V0LWVkaXRvciAubGF5b3V0LXBvcHVwIC5sYXlvdXQtcG9wdXAtaW5wdXQgPiBsYWJlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDAuOWVtO1xufVxuIiwi77u/QGltcG9ydCBcIlZhcmlhYmxlcy5sZXNzXCI7XHJcblxyXG4ubGF5b3V0LWVkaXRvciB7XHJcbiAgICAubGF5b3V0LWVsZW1lbnQge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcblxyXG4gICAgICAgIC8vIFdlIGRvbid0IGZ1Y2sgd2l0aCB0aGUgbGVmdCBtYXJnaW4gb2YgY29sdW1ucywgYmVjYXVzZSBCb290c3RyYXAgdXNlcyB0aGVzZSB0byByZW5kZXIgY29sdW1uIG9mZnNldHMuXHJcbiAgICAgICAgJjpub3QoLmxheW91dC1jb2x1bW4pIHtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIHtcclxuICAgICAgICAgICAgPiAubGF5b3V0LXBhbmVsIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IC8vIFNob3duIG9ubHkgaW4gYWN0aXZlIG9yIGZvY3VzZWQgc3RhdGVzLlxyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICAgICAgei1pbmRleDogMjA7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDI1cHg7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDZweDtcclxuICAgICAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI1cHg7XHJcbiAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG5cclxuICAgICAgICAgICAgICAgID4gLmxheW91dC1wYW5lbC1pdGVtIHtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAyNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDFweCA2cHggMDtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICA+IC5sYXlvdXQtcGFuZWwtbGFiZWwge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogQGZvbnQtc2l6ZSAtIDE7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgPiAubGF5b3V0LXBhbmVsLWFjdGlvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTsgLy8gU2hvd24gb25seSBpbiBmb2N1c2VkIHN0YXRlLlxyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyOHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgID4gLmxheW91dC1wYW5lbC1tYWluIHtcclxuICAgICAgICAgICAgICAgIHRvcDogLTI3cHg7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiAtMnB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIFdoZW4gZHJhZ2dpbmcgZnJvbSB0b29sYm94LCBlbGVtZW50cyB3aWxsIGJlIGxpIHJhdGhlciB0aGFuIGRpdi5cclxuICAgIGxpLmxheW91dC1lbGVtZW50IHtcclxuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgfVxyXG5cclxuICAgICY6bm90KC5sYXlvdXQtZWRpdG9yLWRyYWdnaW5nKSB7XHJcblxyXG4gICAgICAgIC5sYXlvdXQtZWxlbWVudC1hY3RpdmUsIC5sYXlvdXQtZWxlbWVudC1mb2N1c2VkIHtcclxuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAycHg7XHJcbiAgICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcblxyXG4gICAgICAgICAgICA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogLTJweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmxheW91dC1lbGVtZW50LWFjdGl2ZSB7XHJcbiAgICAgICAgICAgIEBhY3RpdmUtaGlnaGxpZ2h0OiBmYWRlKCM2ODY4NjgsIDEwJSk7XHJcblxyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6IEBhY3RpdmUtaGlnaGxpZ2h0O1xyXG5cclxuICAgICAgICAgICAgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciA+IC5sYXlvdXQtcGFuZWwtbWFpbiB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jazsgLy8gVG8gcmV2ZWFsLlxyXG4gICAgICAgICAgICAgICAgei1pbmRleDogMzA7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAYWN0aXZlLWhpZ2hsaWdodDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmxheW91dC1lbGVtZW50LWZvY3VzZWQge1xyXG4gICAgICAgICAgICBAZm9jdXNlZC1oaWdobGlnaHQ6ICM2NDg3MjE7XHJcbiAgICAgICAgICAgIEBmb2N1c2VkLXRleHQ6ICNmZWZlZmU7XHJcblxyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6IEBmb2N1c2VkLWhpZ2hsaWdodDtcclxuXHJcbiAgICAgICAgICAgID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgPiAubGF5b3V0LXBhbmVsIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyAvLyBUbyByZXZlYWwuXHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAZm9jdXNlZC1oaWdobGlnaHQ7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogQGZvY3VzZWQtdGV4dDtcclxuXHJcbiAgICAgICAgICAgICAgICA+IC5sYXlvdXQtcGFuZWwtYWN0aW9uIHtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IC8vIFRvIHJldmVhbC5cclxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbihAZm9jdXNlZC1oaWdobGlnaHQsIDEwJSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAmLmRpc2FibGVkIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogZmFkZShAZm9jdXNlZC10ZXh0LCA0MCUpO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAZm9jdXNlZC1oaWdobGlnaHQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICYuYWN0aXZlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IGxpZ2h0ZW4oc2F0dXJhdGUoc3BpbihAZm9jdXNlZC1oaWdobGlnaHQsIC0xMCksIDEwMCUpLCAzMCUpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGVuKEBmb2N1c2VkLWhpZ2hsaWdodCwgNSUpO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGVuKEBmb2N1c2VkLWhpZ2hsaWdodCwgMTAlKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmxheW91dC1lbGVtZW50LXNlbGVjdGVkIHtcclxuICAgICAgICAgICAgQHNlbGVjdGVkLWhpZ2hsaWdodDogIzY0ODcyMTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZmFkZShAc2VsZWN0ZWQtaGlnaGxpZ2h0LCA4JSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC51aS1zb3J0YWJsZS1wbGFjZWhvbGRlciB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuXHJcbiAgICAubGF5b3V0LWVsZW1lbnQtZHJvcHRhcmdldCB7XHJcbiAgICAgICAgQGRyb3B0YXJnZXQtaGlnaGxpZ2h0OiAjNjQ4NzIxO1xyXG4gICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAxMnB4IDZweCBmYWRlKEBkcm9wdGFyZ2V0LWhpZ2hsaWdodCwgNTAlKTtcclxuXHJcbiAgICAgICAgLnVpLXNvcnRhYmxlLXBsYWNlaG9sZGVyIHtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7IC8vIFRvIHJldmVhbC5cclxuICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBtaW4taGVpZ2h0OiBAZWxlbWVudC1taW4taGVpZ2h0IC0gMnB4O1xyXG4gICAgICAgICAgICBib3JkZXI6IDJweCBkYXNoZWQgQGRyb3B0YXJnZXQtaGlnaGxpZ2h0ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGZhZGUoQGRyb3B0YXJnZXQtaGlnaGxpZ2h0LCAxNiUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBBIENTUyBmaXggZm9yIG1lZGlhIGl0ZW0gZWxlbWVudHMuXHJcbiAgICAubWVkaWEtdGh1bWJuYWlsIHtcclxuICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6MTAwJTtcclxuICAgICAgICAgICAgbWF4LWhlaWdodDogMTAwJTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwi77u/QGltcG9ydCBcIlZhcmlhYmxlcy5sZXNzXCI7XHJcblxyXG4ubGF5b3V0LWVkaXRvciB7XHJcbiAgICAubGF5b3V0LWNvbnRhaW5lciB7XHJcblxyXG4gICAgICAgID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIge1xyXG5cclxuICAgICAgICAgICAgPiAubGF5b3V0LWNvbnRhaW5lci1jaGlsZHJlbi1wbGFjZWhvbGRlciB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogQGNvbnRhaW5lci1wYWRkaW5nIC0gMXB4O1xyXG4gICAgICAgICAgICAgICAgbWluLWhlaWdodDogQGVsZW1lbnQtbWluLWhlaWdodDtcclxuICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IGRhc2hlZCBmYWRlKEBncmF5LXRleHQsIDQwJSk7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiBAY29udGFpbmVyLXBhZGRpbmc7XHJcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogQGZvbnQtc2l6ZSAtIDE7XHJcbiAgICAgICAgICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XHJcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjY7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgID4gLmxheW91dC1jaGlsZHJlbiB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiBAY29udGFpbmVyLXBhZGRpbmc7XHJcblxyXG4gICAgICAgICAgICAgICAgLy8gQWxsIGFkamFjZW50IG5vbi1jb250YWluZXIgY2hpbGRyZW4gbmVlZCBzb21lIHNwYWNlIGJldHdlZW4uLi5cclxuICAgICAgICAgICAgICAgID4gLmxheW91dC1lbGVtZW50Om5vdCgubGF5b3V0LWNvbnRhaW5lcikgKyAubGF5b3V0LWVsZW1lbnQ6bm90KC5sYXlvdXQtY29udGFpbmVyKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogQGNvbnRlbnQtc3BhY2luZztcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAvLyAuLi4gZXhjZXB0IHdoZW4galF1ZXJ5IFVJIHNvcnRhYmxlIGhlbHBlciBpcyB0aGUgZmlyc3QgZWxlbWVudCAoYmVjYXVzZSB0aGF0IG9uZSBpcyBhYnNvbHV0ZWx5IHBvc2l0aW9uZWQgYW5kIFwiZmxvYXRpbmdcIikuXHJcbiAgICAgICAgICAgICAgICA+IC51aS1zb3J0YWJsZS1oZWxwZXI6Zmlyc3QtY2hpbGQgKyAubGF5b3V0LWVsZW1lbnQ6bm90KC5sYXlvdXQtY29udGFpbmVyKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJi5sYXlvdXQtY29udGFpbmVyLWVtcHR5IHtcclxuICAgICAgICAgICAgICAgID4gLmxheW91dC1jb250YWluZXItY2hpbGRyZW4tcGxhY2Vob2xkZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7IC8vIFRvIHJldmVhbC5cclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICA+IC5sYXlvdXQtY2hpbGRyZW4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJjpub3QoLmxheW91dC1lZGl0b3ItZHJhZ2dpbmcpIHtcclxuICAgICAgICAubGF5b3V0LWNvbnRhaW5lci5sYXlvdXQtZWxlbWVudC1mb2N1c2VkID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgPiAubGF5b3V0LWNoaWxkcmVuIHtcclxuICAgICAgICAgICAgPiAubGF5b3V0LWVsZW1lbnQ6bm90KC5sYXlvdXQtZWxlbWVudC1hY3RpdmUpIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IGRhc2hlZCBmYWRlKEBncmF5LXRleHQsIDYwJSk7XHJcblxyXG4gICAgICAgICAgICAgICAgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAtMXB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICA+IC5sYXlvdXQtY29udGFpbmVyICsgLmxheW91dC1jb250YWluZXI6bm90KC5sYXlvdXQtZWxlbWVudC1hY3RpdmUpIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IDA7XHJcblxyXG4gICAgICAgICAgICAgICAgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCLvu79AaW1wb3J0IFwiVmFyaWFibGVzLmxlc3NcIjtcclxuXHJcbi5sYXlvdXQtZWRpdG9yIHtcclxuICAgIC5sYXlvdXQtY2FudmFzIHtcclxuICAgICAgICAjZHVtbXkgeyAvLyBPbmx5IGFkZGVkIGJlY2F1c2UgV0UgZG9lc24ndCBjb21waWxlIGlmIHRoZXJlIGFyZSBubyBydWxlcy5cclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCLvu79AaW1wb3J0IFwiVmFyaWFibGVzLmxlc3NcIjtcclxuXHJcbi5sYXlvdXQtZWRpdG9yIHtcclxuICAgIC5sYXlvdXQtcm93IHtcclxuICAgICAgICAmLmxheW91dC1lbGVtZW50LWZvY3VzZWQ6bm90KC5sYXlvdXQtZWxlbWVudC1kcm9wdGFyZ2V0KSA+IC5sYXlvdXQtZWxlbWVudC13cmFwcGVyID4gLmxheW91dC1jaGlsZHJlbiB7XHJcbiAgICAgICAgICAgID4gLmxheW91dC1lbGVtZW50Om5vdCgubGF5b3V0LWVsZW1lbnQtYWN0aXZlKSB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wOiAxcHggZGFzaGVkIGZhZGUoQGdyYXktdGV4dCwgNjAlKSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogLTFweCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICA+IC5sYXlvdXQtZWxlbWVudCArIC5sYXlvdXQtZWxlbWVudDpub3QoLmxheW91dC1lbGVtZW50LWFjdGl2ZSkge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDAgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgID4gZGl2ID4gLmxheW91dC1jaGlsZHJlbiB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5sYXlvdXQtY29sdW1uID4gZGl2ID4gLmxheW91dC1jaGlsZHJlbiB7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIH1cclxufSIsIu+7v0BpbXBvcnQgXCJWYXJpYWJsZXMubGVzc1wiO1xyXG5cclxuLmxheW91dC1lZGl0b3Ige1xyXG4gICAgLmxheW91dC1jb2x1bW4ge1xyXG4gICAgICAgID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIge1xyXG4gICAgICAgICAgICA+IC5sYXlvdXQtY29sdW1uLXJlc2l6ZS1iYXIge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIHotaW5kZXg6IDMwO1xyXG4gICAgICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDE2cHg7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBjdXJzb3I6IGNvbC1yZXNpemU7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgID4gLmxheW91dC1jb2x1bW4tcmVzaXplLWJhci1sZWZ0IHtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IC02cHg7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgID4gLmxheW91dC1jb2x1bW4tcmVzaXplLWJhci1yaWdodCB7XHJcbiAgICAgICAgICAgICAgICByaWdodDogLTZweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5sYXlvdXQtZWxlbWVudC1mb2N1c2VkID4gLmxheW91dC1lbGVtZW50LXdyYXBwZXIgPiAubGF5b3V0LWNvbHVtbi1yZXNpemUtYmFyIHtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIu+7v0BpbXBvcnQgXCJWYXJpYWJsZXMubGVzc1wiO1xyXG5AaW1wb3J0IFwiUmVzZXQubGVzc1wiO1xyXG5cclxuLmxheW91dC1lZGl0b3Ige1xyXG4gICAgLmxheW91dC1jb250ZW50LCAubGF5b3V0LWh0bWwge1xyXG4gICAgICAgIG1pbi1oZWlnaHQ6IDFlbTtcclxuXHJcbiAgICAgICAgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciB7XHJcbiAgICAgICAgICAgIC5sYXlvdXQtY29udGVudC1tYXJrdXAge1xyXG5cclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDJweDtcclxuICAgICAgICAgICAgICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcclxuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XHJcblxyXG4gICAgICAgICAgICAgICAgLy8gUmVzZXQgdG8gSFRNTDUgVzNDIHN0YW5kYXJkIGRlZmF1bHQgc3R5bGluZyB3aXRoaW4gY29udGVudC5cclxuICAgICAgICAgICAgICAgIC5yZXNldCgpO1xyXG5cclxuICAgICAgICAgICAgICAgID4gKjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50OyAvLyBJbXBvcnRhbnQgYmVjYXVzZSBzaXRlLmNzcyBvZiB0aGUgYWRtaW4gdGhlbWUgc3R5bGVzIGhlYWRpbmcgbWFyZ2lucyB3aXRoIGEgdmVyeSBoaWdoIHNwZWNpZmljaXR5LlxyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgID4gKjpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYubGF5b3V0LWNvbnRlbnQtaW1hZ2UsICYubGF5b3V0LWNvbnRlbnQtdmVjdG9yLWltYWdlIHtcclxuICAgICAgICAgICAgPiAubGF5b3V0LWVsZW1lbnQtd3JhcHBlciA+IC5sYXlvdXQtY29udGVudC1tYXJrdXAgPiBpbWcge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuaW1nLXJlc3BvbnNpdmUsIC5pbWctcmVzcG9uc2l2ZSBpbWcge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICB9XHJcbn1cclxuIiwi77u/LnJlc2V0KCkge1xyXG5cclxuICAgICoge1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xyXG4gICAgfVxyXG5cclxuICAgIGFkZHJlc3MsIGJsb2NrcXVvdGUsIGNlbnRlciwgZGl2LCBmaWd1cmUsIGZpZ2NhcHRpb24sIGZvb3RlciwgZm9ybSxcclxuICAgIGhlYWRlciwgaHIsIGxlZ2VuZCwgbGlzdGluZywgcCwgcGxhaW50ZXh0LCBwcmUsIHhtcCB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB9XHJcblxyXG4gICAgYmxvY2txdW90ZSwgZmlndXJlLCBsaXN0aW5nLCBwLCBwbGFpbnRleHQsIHByZSwgeG1wIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAxZW07XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMWVtO1xyXG4gICAgfVxyXG5cclxuICAgIGJsb2NrcXVvdGUsIGZpZ3VyZSB7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDQwcHg7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA0MHB4O1xyXG4gICAgfVxyXG5cclxuICAgIGFkZHJlc3Mge1xyXG4gICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcclxuICAgIH1cclxuXHJcbiAgICBsaXN0aW5nLCBwbGFpbnRleHQsIHByZSwgeG1wIHtcclxuICAgICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlO1xyXG4gICAgICAgIHdoaXRlLXNwYWNlOiBwcmU7XHJcbiAgICB9XHJcblxyXG4gICAgY2l0ZSwgZGZuLCBlbSwgaSwgdmFyIHtcclxuICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XHJcbiAgICB9XHJcblxyXG4gICAgYiwgc3Ryb25nIHtcclxuICAgICAgICBmb250LXdlaWdodDogYm9sZGVyO1xyXG4gICAgfVxyXG5cclxuICAgIGNvZGUsIGtiZCwgc2FtcCwgdHQge1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7XHJcbiAgICB9XHJcblxyXG4gICAgYmlnIHtcclxuICAgICAgICBmb250LXNpemU6IGxhcmdlcjtcclxuICAgIH1cclxuXHJcbiAgICBzbWFsbCB7XHJcbiAgICAgICAgZm9udC1zaXplOiBzbWFsbGVyO1xyXG4gICAgfVxyXG5cclxuICAgIHN1YiB7XHJcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHN1YjtcclxuICAgIH1cclxuXHJcbiAgICBzdXAge1xyXG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBzdXBlcjtcclxuICAgIH1cclxuXHJcbiAgICBzdWIsIHN1cCB7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcclxuICAgICAgICBmb250LXNpemU6IHNtYWxsZXI7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIHJ1Ynkge1xyXG4gICAgICAgIGRpc3BsYXk6IHJ1Ynk7XHJcbiAgICB9XHJcblxyXG4gICAgcmIge1xyXG4gICAgICAgIGRpc3BsYXk6IHJ1YnktYmFzZTtcclxuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgfVxyXG5cclxuICAgIHJ0IHtcclxuICAgICAgICBkaXNwbGF5OiBydWJ5LXRleHQ7XHJcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgICAgICBmb250LXNpemU6IDUwJTtcclxuICAgICAgICBmb250LXZhcmlhbnQtZWFzdC1hc2lhbjogcnVieTtcclxuICAgICAgICB0ZXh0LWVtcGhhc2lzOiBub25lO1xyXG4gICAgfVxyXG5cclxuICAgIHJiYyB7XHJcbiAgICAgICAgZGlzcGxheTogcnVieS1iYXNlLWNvbnRhaW5lcjtcclxuICAgIH1cclxuXHJcbiAgICBydGMge1xyXG4gICAgICAgIGRpc3BsYXk6IHJ1YnktdGV4dC1jb250YWluZXI7XHJcbiAgICB9XHJcblxyXG4gICAgcnVieSwgcmIsIHJ0LCByYmMsIHJ0YyB7XHJcbiAgICAgICAgdW5pY29kZS1iaWRpOiBpc29sYXRlO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICA6bGluayB7XHJcbiAgICAgICAgY29sb3I6ICMwMDAwRUU7XHJcbiAgICB9XHJcblxyXG4gICAgOnZpc2l0ZWQge1xyXG4gICAgICAgIGNvbG9yOiAjNTUxQThCO1xyXG4gICAgfVxyXG5cclxuICAgIDpsaW5rLCA6dmlzaXRlZCB7XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICB9XHJcblxyXG4gICAgYTpsaW5rW3JlbH49aGVscF0sIGE6dmlzaXRlZFtyZWx+PWhlbHBdLFxyXG4gICAgYXJlYTpsaW5rW3JlbH49aGVscF0sIGFyZWE6dmlzaXRlZFtyZWx+PWhlbHBdIHtcclxuICAgICAgICBjdXJzb3I6IGhlbHA7XHJcbiAgICB9XHJcblxyXG4gICAgOmZvY3VzIHtcclxuICAgICAgICBvdXRsaW5lOiBhdXRvO1xyXG4gICAgfVxyXG5cclxuICAgIG1hcmsge1xyXG4gICAgICAgIGJhY2tncm91bmQ6IHllbGxvdztcclxuICAgICAgICBjb2xvcjogYmxhY2s7XHJcbiAgICB9XHJcbiAgICAvKiB0aGlzIGNvbG9yIGlzIGp1c3QgYSBzdWdnZXN0aW9uIGFuZCBjYW4gYmUgY2hhbmdlZCBiYXNlZCBvbiBpbXBsZW1lbnRhdGlvbiBmZWVkYmFjayAqL1xyXG4gICAgYWJiclt0aXRsZV0sIGFjcm9ueW1bdGl0bGVdIHtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IGRvdHRlZCB1bmRlcmxpbmU7XHJcbiAgICB9XHJcblxyXG4gICAgaW5zLCB1IHtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgIH1cclxuXHJcbiAgICBkZWwsIHMsIHN0cmlrZSB7XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7XHJcbiAgICB9XHJcblxyXG4gICAgYmxpbmsge1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogYmxpbms7XHJcbiAgICB9XHJcblxyXG4gICAgcTo6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBvcGVuLXF1b3RlO1xyXG4gICAgfVxyXG5cclxuICAgIHE6OmFmdGVyIHtcclxuICAgICAgICBjb250ZW50OiBjbG9zZS1xdW90ZTtcclxuICAgIH1cclxuXHJcbiAgICBicjo6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiAnXFxBJztcclxuICAgICAgICB3aGl0ZS1zcGFjZTogcHJlO1xyXG4gICAgfVxyXG4gICAgLyogdGhpcyBhbHNvIGhhcyBiaWRpIGltcGxpY2F0aW9ucyAqL1xyXG4gICAgbm9iciB7XHJcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgIH1cclxuXHJcbiAgICB3YnIge1xyXG4gICAgICAgIGNvbnRlbnQ6ICdcXDIwMEInO1xyXG4gICAgfVxyXG4gICAgLyogdGhpcyBhbHNvIGhhcyBiaWRpIGltcGxpY2F0aW9ucyAqL1xyXG4gICAgbm9iciB3YnIge1xyXG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XHJcbiAgICB9XHJcblxyXG4gICAgYXJ0aWNsZSwgYXNpZGUsIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsIGhncm91cCwgbmF2LCBzZWN0aW9uIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIH1cclxuXHJcbiAgICBoMSB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMC42N2VtO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAuNjdlbTtcclxuICAgICAgICBmb250LXNpemU6IDIuMDBlbTtcclxuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIH1cclxuXHJcbiAgICBoMiB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMC44M2VtO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAuODNlbTtcclxuICAgICAgICBmb250LXNpemU6IDEuNTBlbTtcclxuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIH1cclxuXHJcbiAgICBoMyB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMS4wMGVtO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuMDBlbTtcclxuICAgICAgICBmb250LXNpemU6IDEuMTdlbTtcclxuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIH1cclxuXHJcbiAgICBoNCB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMS4zM2VtO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuMzNlbTtcclxuICAgICAgICBmb250LXNpemU6IDEuMDBlbTtcclxuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIH1cclxuXHJcbiAgICBoNSB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMS42N2VtO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuNjdlbTtcclxuICAgICAgICBmb250LXNpemU6IDAuODNlbTtcclxuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIH1cclxuXHJcbiAgICBoNiB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMi4zM2VtO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIuMzNlbTtcclxuICAgICAgICBmb250LXNpemU6IDAuNjdlbTtcclxuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIH1cclxuXHJcbiAgICBkaXIsIGRkLCBkbCwgZHQsIG9sLCB1bCB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB9XHJcblxyXG4gICAgbGkge1xyXG4gICAgICAgIGRpc3BsYXk6IGxpc3QtaXRlbTtcclxuICAgIH1cclxuXHJcbiAgICBkaXIsIGRsLCBvbCwgdWwge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDFlbTtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxZW07XHJcbiAgICB9XHJcblxyXG4gICAgICAgIGRpciBkaXIsIGRpciBkbCwgZGlyIG9sLCBkaXIgdWwsXHJcbiAgICAgICAgZGwgZGlyLCBkbCBkbCwgZGwgb2wsIGRsIHVsLFxyXG4gICAgICAgIG9sIGRpciwgb2wgZGwsIG9sIG9sLCBvbCB1bCxcclxuICAgICAgICB1bCBkaXIsIHVsIGRsLCB1bCBvbCwgdWwgdWwge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICBkZCB7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDQwcHg7XHJcbiAgICB9XHJcbiAgICAvKiBMVFItc3BlY2lmaWM6IHVzZSAnbWFyZ2luLXJpZ2h0JyBmb3IgcnRsIGVsZW1lbnRzICovXHJcbiAgICBkaXIsIG9sLCB1bCB7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA0MHB4O1xyXG4gICAgfVxyXG4gICAgLyogTFRSLXNwZWNpZmljOiB1c2UgJ3BhZGRpbmctcmlnaHQnIGZvciBydGwgZWxlbWVudHMgKi9cclxuICAgIG9sIHtcclxuICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IGRlY2ltYWw7XHJcbiAgICB9XHJcblxyXG4gICAgZGlyLCB1bCB7XHJcbiAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBkaXNjO1xyXG4gICAgfVxyXG5cclxuICAgICAgICBkaXIgZGlyLCBkaXIgdWwsXHJcbiAgICAgICAgb2wgZGlyLCBvbCB1bCxcclxuICAgICAgICB1bCBkaXIsIHVsIHVsIHtcclxuICAgICAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBjaXJjbGU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgZGlyIGRpciBkaXIsIGRpciBkaXIgdWwsXHJcbiAgICAgICAgICAgIGRpciBvbCBkaXIsIGRpciBvbCB1bCxcclxuICAgICAgICAgICAgZGlyIHVsIGRpciwgZGlyIHVsIHVsLFxyXG4gICAgICAgICAgICBvbCBkaXIgZGlyLCBvbCBkaXIgdWwsXHJcbiAgICAgICAgICAgIG9sIG9sIGRpciwgb2wgb2wgdWwsXHJcbiAgICAgICAgICAgIG9sIHVsIGRpciwgb2wgdWwgdWwsXHJcbiAgICAgICAgICAgIHVsIGRpciBkaXIsIHVsIGRpciB1bCxcclxuICAgICAgICAgICAgdWwgb2wgZGlyLCB1bCBvbCB1bCxcclxuICAgICAgICAgICAgdWwgdWwgZGlyLCB1bCB1bCB1bCB7XHJcbiAgICAgICAgICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IHNxdWFyZTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgIHRhYmxlIHtcclxuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcclxuICAgIH1cclxuXHJcbiAgICBjYXB0aW9uIHtcclxuICAgICAgICBkaXNwbGF5OiB0YWJsZS1jYXB0aW9uO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbGdyb3VwLCBjb2xncm91cFtoaWRkZW5dIHtcclxuICAgICAgICBkaXNwbGF5OiB0YWJsZS1jb2x1bW4tZ3JvdXA7XHJcbiAgICB9XHJcblxyXG4gICAgY29sLCBjb2xbaGlkZGVuXSB7XHJcbiAgICAgICAgZGlzcGxheTogdGFibGUtY29sdW1uO1xyXG4gICAgfVxyXG5cclxuICAgIHRoZWFkLCB0aGVhZFtoaWRkZW5dIHtcclxuICAgICAgICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXA7XHJcbiAgICB9XHJcblxyXG4gICAgdGJvZHksIHRib2R5W2hpZGRlbl0ge1xyXG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cDtcclxuICAgIH1cclxuXHJcbiAgICB0Zm9vdCwgdGZvb3RbaGlkZGVuXSB7XHJcbiAgICAgICAgZGlzcGxheTogdGFibGUtZm9vdGVyLWdyb3VwO1xyXG4gICAgfVxyXG5cclxuICAgIHRyLCB0cltoaWRkZW5dIHtcclxuICAgICAgICBkaXNwbGF5OiB0YWJsZS1yb3c7XHJcbiAgICB9XHJcblxyXG4gICAgdGQsIHRoLCB0ZFtoaWRkZW5dLCB0aFtoaWRkZW5dIHtcclxuICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xyXG4gICAgfVxyXG5cclxuICAgICAgICBjb2xncm91cFtoaWRkZW5dLCBjb2xbaGlkZGVuXSwgdGhlYWRbaGlkZGVuXSwgdGJvZHlbaGlkZGVuXSxcclxuICAgICAgICB0Zm9vdFtoaWRkZW5dLCB0cltoaWRkZW5dLCB0ZFtoaWRkZW5dLCB0aFtoaWRkZW5dIHtcclxuICAgICAgICAgICAgdmlzaWJpbGl0eTogY29sbGFwc2U7XHJcbiAgICAgICAgfVxyXG5cclxuICAgIHRhYmxlIHtcclxuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgICAgIGJvcmRlci1zcGFjaW5nOiAycHg7XHJcbiAgICAgICAgYm9yZGVyLWNvbGxhcHNlOiBzZXBhcmF0ZTtcclxuICAgICAgICB0ZXh0LWluZGVudDogaW5pdGlhbDtcclxuICAgIH1cclxuXHJcbiAgICB0ZCwgdGgge1xyXG4gICAgICAgIHBhZGRpbmc6IDFweDtcclxuICAgIH1cclxuXHJcbiAgICB0aCB7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICB9XHJcblxyXG4gICAgdGhlYWQsIHRib2R5LCB0Zm9vdCwgdGFibGUgPiB0ciB7XHJcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgIH1cclxuXHJcbiAgICB0ciwgdGQsIHRoIHtcclxuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogaW5oZXJpdDtcclxuICAgIH1cclxuXHJcbiAgICB0YWJsZSwgdGQsIHRoIHtcclxuICAgICAgICBib3JkZXItY29sb3I6IGdyYXk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhlYWQsIHRib2R5LCB0Zm9vdCwgdHIge1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcclxuICAgIH1cclxuICAgIC8qdGFibGVbcnVsZXM9bm9uZSBpXSwgdGFibGVbcnVsZXM9Z3JvdXBzIGldLCB0YWJsZVtydWxlcz1yb3dzIGldLFxyXG50YWJsZVtydWxlcz1jb2xzIGldLCB0YWJsZVtydWxlcz1hbGwgaV0sIHRhYmxlW2ZyYW1lPXZvaWQgaV0sXHJcbnRhYmxlW2ZyYW1lPWFib3ZlIGldLCB0YWJsZVtmcmFtZT1iZWxvdyBpXSwgdGFibGVbZnJhbWU9aHNpZGVzIGldLFxyXG50YWJsZVtmcmFtZT1saHMgaV0sIHRhYmxlW2ZyYW1lPXJocyBpXSwgdGFibGVbZnJhbWU9dnNpZGVzIGldLFxyXG50YWJsZVtmcmFtZT1ib3ggaV0sIHRhYmxlW2ZyYW1lPWJvcmRlciBpXSxcclxudGFibGVbcnVsZXM9bm9uZSBpXSA+IHRyID4gdGQsIHRhYmxlW3J1bGVzPW5vbmUgaV0gPiB0ciA+IHRoLFxyXG50YWJsZVtydWxlcz1ncm91cHMgaV0gPiB0ciA+IHRkLCB0YWJsZVtydWxlcz1ncm91cHMgaV0gPiB0ciA+IHRoLFxyXG50YWJsZVtydWxlcz1yb3dzIGldID4gdHIgPiB0ZCwgdGFibGVbcnVsZXM9cm93cyBpXSA+IHRyID4gdGgsXHJcbnRhYmxlW3J1bGVzPWNvbHMgaV0gPiB0ciA+IHRkLCB0YWJsZVtydWxlcz1jb2xzIGldID4gdHIgPiB0aCxcclxudGFibGVbcnVsZXM9YWxsIGldID4gdHIgPiB0ZCwgdGFibGVbcnVsZXM9YWxsIGldID4gdHIgPiB0aCxcclxudGFibGVbcnVsZXM9bm9uZSBpXSA+IHRoZWFkID4gdHIgPiB0ZCwgdGFibGVbcnVsZXM9bm9uZSBpXSA+IHRoZWFkID4gdHIgPiB0aCxcclxudGFibGVbcnVsZXM9Z3JvdXBzIGldID4gdGhlYWQgPiB0ciA+IHRkLCB0YWJsZVtydWxlcz1ncm91cHMgaV0gPiB0aGVhZCA+IHRyID4gdGgsXHJcbnRhYmxlW3J1bGVzPXJvd3MgaV0gPiB0aGVhZCA+IHRyID4gdGQsIHRhYmxlW3J1bGVzPXJvd3MgaV0gPiB0aGVhZCA+IHRyID4gdGgsXHJcbnRhYmxlW3J1bGVzPWNvbHMgaV0gPiB0aGVhZCA+IHRyID4gdGQsIHRhYmxlW3J1bGVzPWNvbHMgaV0gPiB0aGVhZCA+IHRyID4gdGgsXHJcbnRhYmxlW3J1bGVzPWFsbCBpXSA+IHRoZWFkID4gdHIgPiB0ZCwgdGFibGVbcnVsZXM9YWxsIGldID4gdGhlYWQgPiB0ciA+IHRoLFxyXG50YWJsZVtydWxlcz1ub25lIGldID4gdGJvZHkgPiB0ciA+IHRkLCB0YWJsZVtydWxlcz1ub25lIGldID4gdGJvZHkgPiB0ciA+IHRoLFxyXG50YWJsZVtydWxlcz1ncm91cHMgaV0gPiB0Ym9keSA+IHRyID4gdGQsIHRhYmxlW3J1bGVzPWdyb3VwcyBpXSA+IHRib2R5ID4gdHIgPiB0aCxcclxudGFibGVbcnVsZXM9cm93cyBpXSA+IHRib2R5ID4gdHIgPiB0ZCwgdGFibGVbcnVsZXM9cm93cyBpXSA+IHRib2R5ID4gdHIgPiB0aCxcclxudGFibGVbcnVsZXM9Y29scyBpXSA+IHRib2R5ID4gdHIgPiB0ZCwgdGFibGVbcnVsZXM9Y29scyBpXSA+IHRib2R5ID4gdHIgPiB0aCxcclxudGFibGVbcnVsZXM9YWxsIGldID4gdGJvZHkgPiB0ciA+IHRkLCB0YWJsZVtydWxlcz1hbGwgaV0gPiB0Ym9keSA+IHRyID4gdGgsXHJcbnRhYmxlW3J1bGVzPW5vbmUgaV0gPiB0Zm9vdCA+IHRyID4gdGQsIHRhYmxlW3J1bGVzPW5vbmUgaV0gPiB0Zm9vdCA+IHRyID4gdGgsXHJcbnRhYmxlW3J1bGVzPWdyb3VwcyBpXSA+IHRmb290ID4gdHIgPiB0ZCwgdGFibGVbcnVsZXM9Z3JvdXBzIGldID4gdGZvb3QgPiB0ciA+IHRoLFxyXG50YWJsZVtydWxlcz1yb3dzIGldID4gdGZvb3QgPiB0ciA+IHRkLCB0YWJsZVtydWxlcz1yb3dzIGldID4gdGZvb3QgPiB0ciA+IHRoLFxyXG50YWJsZVtydWxlcz1jb2xzIGldID4gdGZvb3QgPiB0ciA+IHRkLCB0YWJsZVtydWxlcz1jb2xzIGldID4gdGZvb3QgPiB0ciA+IHRoLFxyXG50YWJsZVtydWxlcz1hbGwgaV0gPiB0Zm9vdCA+IHRyID4gdGQsIHRhYmxlW3J1bGVzPWFsbCBpXSA+IHRmb290ID4gdHIgPiB0aCB7XHJcbiAgICBib3JkZXItY29sb3I6IGJsYWNrO1xyXG59Ki9cclxuICAgIGlucHV0LCBzZWxlY3QsIG9wdGlvbiwgb3B0Z3JvdXAsIGJ1dHRvbiwgdGV4dGFyZWEsIGtleWdlbiB7XHJcbiAgICAgICAgdGV4dC1pbmRlbnQ6IGluaXRpYWw7XHJcbiAgICB9XHJcblxyXG4gICAgdGV4dGFyZWEge1xyXG4gICAgICAgIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcclxuICAgIH1cclxuXHJcbiAgICBpbnB1dFt0eXBlPVwicmFkaW9cIl0sIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSwgaW5wdXRbdHlwZT1cInJlc2V0XCJdLCBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLFxyXG4gICAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSwgc2VsZWN0LCBidXR0b24ge1xyXG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICB9XHJcblxyXG4gICAgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSwgYnV0dG9uIHtcclxuICAgICAgICBwYWRkaW5nOiAwLjNlbSAwLjVlbTtcclxuICAgIH1cclxuXHJcbiAgICBociB7XHJcbiAgICAgICAgY29sb3I6IGdyYXk7XHJcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBpbnNldDtcclxuICAgICAgICBib3JkZXItd2lkdGg6IDFweDtcclxuICAgICAgICBtYXJnaW46IDAuNWVtIGF1dG87XHJcbiAgICB9XHJcblxyXG4gICAgZmllbGRzZXQge1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAycHg7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAycHg7XHJcbiAgICAgICAgYm9yZGVyOiBncm9vdmUgMnB4IFRocmVlREZhY2U7XHJcbiAgICAgICAgcGFkZGluZzogMC4zNWVtIDAuNjI1ZW0gMC43NWVtO1xyXG4gICAgfVxyXG5cclxuICAgIGxlZ2VuZCB7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAycHg7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogMnB4O1xyXG4gICAgfVxyXG59XHJcbiIsIu+7v0BpbXBvcnQgXCJWYXJpYWJsZXMubGVzc1wiO1xyXG5cclxuYm9keSB7XHJcbiAgICAubGF5b3V0LXRvb2xib3gtaXRlbSB7XHJcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgQGdyYXktYm9yZGVyO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcbiAgICAgICAgcGFkZGluZzogKEBjb250YWluZXItcGFkZGluZyAtIDMpIEBjb250YWluZXItcGFkZGluZztcclxuICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XHJcbiAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xyXG5cclxuICAgICAgICBpIHtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICB3aWR0aDogMTZweDtcclxuICAgICAgICAgICAgZm9udDogbm9ybWFsIG5vcm1hbCBub3JtYWwgMTRweC8xIEZvbnRBd2Vzb21lO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgKyAubGF5b3V0LXRvb2xib3gtaXRlbSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IEBjb250YWluZXItcGFkZGluZyAvIDM7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4ubGF5b3V0LWVkaXRvciB7XHJcbiAgICA+IC5sYXlvdXQtdG9vbGJveC13cmFwcGVyIHtcclxuICAgICAgICBwb3NpdGlvbjogc3RpY2t5O1xyXG4gICAgICAgIHRvcDogMXZoO1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogQGNvbnRhaW5lci1wYWRkaW5nO1xyXG4gICAgICAgIHdpZHRoOiAyMjBweDtcclxuICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xyXG4gICAgICAgIHNjcm9sbGJhci13aWR0aDogdGhpbjtcclxuICAgICAgICBtaW4taGVpZ2h0OiA0MDBweDtcclxuICAgICAgICBtYXgtaGVpZ2h0OiA5OHZoO1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuXHJcbiAgICAgICAgPiAubGF5b3V0LXRvb2xib3gge1xyXG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBAZ3JheS1ib3JkZXI7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IEBjb250YWluZXItcGFkZGluZyAvIDI7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBncmF5LWJnO1xyXG5cclxuICAgICAgICAgICAgLmxheW91dC10b29sYm94LWdyb3VwIHtcclxuICAgICAgICAgICAgICAgIC5sYXlvdXQtdG9vbGJveC1ncm91cC1oZWFkaW5nIHtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBAY29udGFpbmVyLXBhZGRpbmcgLyAzO1xyXG4gICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IEBjb250YWluZXItcGFkZGluZyAvIDM7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQ6IG5vcm1hbCBub3JtYWwgbm9ybWFsIDE0cHgvMSBGb250QXdlc29tZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlxcZjBkN1wiO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAmLmNvbGxhcHNlZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgLmxheW91dC10b29sYm94LWdyb3VwLWhlYWRpbmc6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcXGYwZGFcIjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIC5sYXlvdXQtdG9vbGJveC1pdGVtcyB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIC5sYXlvdXQtdG9vbGJveC1zZWN0aW9uICsgLmxheW91dC10b29sYm94LXNlY3Rpb24ge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IEBjb250YWluZXItcGFkZGluZyAvIDM7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgLmxheW91dC10b29sYm94LWl0ZW0ge1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIEBncmF5LWJvcmRlcjtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IChAY29udGFpbmVyLXBhZGRpbmcgLSAzKSBAY29udGFpbmVyLXBhZGRpbmc7XHJcbiAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xyXG5cclxuICAgICAgICAgICAgICAgICAgICBpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTZweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udDogbm9ybWFsIG5vcm1hbCBub3JtYWwgMTRweC8xIEZvbnRBd2Vzb21lO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgKyAubGF5b3V0LXRvb2xib3gtaXRlbSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IEBjb250YWluZXItcGFkZGluZyAvIDM7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICsgLmxheW91dC10b29sYm94LWdyb3VwIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiBAY29udGFpbmVyLXBhZGRpbmcgLyAyO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIu+7v0BpbXBvcnQgXCJWYXJpYWJsZXMubGVzc1wiO1xyXG5cclxuLmxheW91dC1lZGl0b3Ige1xyXG4gICAgLmxheW91dC1wb3B1cCB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTsgLy8gU2hvd24gb25seSBpbiBhY3RpdmUgb3IgZm9jdXNlZCBzdGF0ZXMuXHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAtbW96LWJveC1zaGFkb3c6IDNweCAzcHggMTFweCAwIHJnYmEoNTAsIDUwLCA1MCwgMC41KTtcclxuICAgICAgICAtd2Via2l0LWJveC1zaGFkb3c6IDNweCAzcHggMTFweCAwIHJnYmEoNTAsIDUwLCA1MCwgMC41KTtcclxuICAgICAgICBib3gtc2hhZG93OiAzcHggM3B4IDExcHggMCByZ2JhKDUwLCA1MCwgNTAsIDAuNSk7XHJcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgQGdyYXktYm9yZGVyO1xyXG4gICAgICAgIHBhZGRpbmc6IDJweCAwO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmN2Y3Zjc7XHJcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgICAgICB6LWluZGV4OiAyMDtcclxuICAgICAgICBjb2xvcjogQGdyYXktdGV4dDtcclxuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgIGN1cnNvcjogZGVmYXVsdDtcclxuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XHJcbiAgICAgICAgbWluLXdpZHRoOiAzMDBweDtcclxuXHJcbiAgICAgICAgJi53aWRlIHtcclxuICAgICAgICAgICAgd2lkdGg6IDYwMHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmxheW91dC1wb3B1cC1mbGV4IHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgcGFkZGluZzogMnB4IDVweDtcclxuXHJcbiAgICAgICAgICAgIC5sYXlvdXQtcG9wdXAtY29sdW1uICsgLmxheW91dC1wb3B1cC1jb2x1bW4ge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDRweDtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgZmFkZShncmF5LCAxNSUpO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA0cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5sYXlvdXQtcG9wdXAtaXRlbSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDRweCA2cHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubGF5b3V0LXBvcHVwLWxhYmVsIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAwLjllbTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgICAgICAgIGNvbG9yOiBAZ3JheS10ZXh0O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmxheW91dC1wb3B1cC1hY3Rpb246aG92ZXIge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAZ3JheS1iZztcclxuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmxheW91dC1wb3B1cC1pbnB1dCB7XHJcbiAgICAgICAgICAgIGlucHV0W3R5cGU9J3RleHQnXSwgdGV4dGFyZWEge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgID4gbGFiZWwge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDAuOWVtO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiJdfQ== */ diff --git a/src/Orchard.Web/Modules/Orchard.Layouts/Styles/LayoutEditor.min.css b/src/Orchard.Web/Modules/Orchard.Layouts/Styles/LayoutEditor.min.css index a6a57911c..22a46dc73 100644 --- a/src/Orchard.Web/Modules/Orchard.Layouts/Styles/LayoutEditor.min.css +++ b/src/Orchard.Web/Modules/Orchard.Layouts/Styles/LayoutEditor.min.css @@ -1 +1 @@ -.layout-editor-toolbar{-ms-flex-pack:justify;justify-content:space-between;position:relative;top:10px}.layout-editor-toolbar,.layout-editor-toolbar .layout-editor-toolbar-group{display:-ms-flexbox;display:flex}.layout-editor-toolbar .layout-editor-toolbar-group>li+li{margin-left:12px}.layout-editor{display:-ms-flexbox;display:flex;margin-top:1em;font-size:14px}.layout-editor>.layout-canvas-wrapper{-ms-flex:1 1;flex:1 1;height:fit-content;background-color:#f3f4f5;border:1px solid #e4e5e6}.layout-editor>.layout-canvas-wrapper>.layout-toolbar-container{display:none;margin:12px 12px 0;min-height:71px}.layout-editor>.layout-canvas-wrapper>.layout-toolbar-container>.mce-panel{width:100%!important}.layout-editor>.layout-canvas-wrapper .layout-content>.layout-element-wrapper .layout-content-markup>.layout-placeholder{border:1px dashed #ccc;padding:.2em .4em;background:#e8e8e8}.layout-editor .layout-snippet{background:#e8e8e8}.layout-editor-help-dialog{display:none}.layout-editor-help-dialog .help-row:after,.layout-editor-help-dialog .help-row:before{content:" ";display:table}.layout-editor-help-dialog .help-row:after{clear:both}.layout-editor-help-dialog .help-row>.help-column-full,.layout-editor-help-dialog .help-row>.help-column-half{margin:.5em 0}.layout-editor-help-dialog .help-row>.help-column-half{box-sizing:border-box;float:left;width:50%}.layout-editor-help-dialog .help-row>.help-column-half:nth-child(2n){padding-right:10px;clear:left}.layout-editor-help-dialog .help-row+.help-row{margin-top:1em}.layout-editor-help-dialog code{border-radius:4px;background-color:#f3f4f5;padding:2px 4px;font-family:monospace}.layout-editor-help-dialog p{margin-bottom:.5em;line-height:1.6em}.layout-editor-help-dialog table>tbody>tr>td:first-child{padding-right:10px}.layout-editor .layout-element{position:relative;margin-top:0;margin-right:0;margin-bottom:0;padding:0}.layout-editor .layout-element:not(.layout-column){margin-left:0}.layout-editor .layout-element>.layout-element-wrapper>.layout-panel{display:none;position:absolute;margin:0;z-index:20;height:25px;padding:0 6px;list-style:none;white-space:nowrap;line-height:25px;vertical-align:middle}.layout-editor .layout-element>.layout-element-wrapper>.layout-panel>.layout-panel-item{display:inline-block;height:25px;padding:1px 6px 0}.layout-editor .layout-element>.layout-element-wrapper>.layout-panel>.layout-panel-label{font-size:13px}.layout-editor .layout-element>.layout-element-wrapper>.layout-panel>.layout-panel-action{display:none;width:28px;cursor:pointer;text-align:center}.layout-editor .layout-element>.layout-element-wrapper>.layout-panel-main{top:-27px;left:-2px}.layout-editor li.layout-element{list-style:none}.layout-editor:not(.layout-editor-dragging) .layout-element-active,.layout-editor:not(.layout-editor-dragging) .layout-element-focused{border-width:2px;border-style:solid}.layout-editor:not(.layout-editor-dragging) .layout-element-active>.layout-element-wrapper,.layout-editor:not(.layout-editor-dragging) .layout-element-focused>.layout-element-wrapper{margin:-2px}.layout-editor:not(.layout-editor-dragging) .layout-element-active{border-color:hsla(0,0%,41%,.1)}.layout-editor:not(.layout-editor-dragging) .layout-element-active>.layout-element-wrapper>.layout-panel-main{display:block;z-index:30;background-color:hsla(0,0%,41%,.1)}.layout-editor:not(.layout-editor-dragging) .layout-element-focused{border-color:#648721}.layout-editor:not(.layout-editor-dragging) .layout-element-focused>.layout-element-wrapper>.layout-panel{display:block;background-color:#648721;color:#fefefe}.layout-editor:not(.layout-editor-dragging) .layout-element-focused>.layout-element-wrapper>.layout-panel>.layout-panel-action{display:inline-block}.layout-editor:not(.layout-editor-dragging) .layout-element-focused>.layout-element-wrapper>.layout-panel>.layout-panel-action:hover{background-color:#82b02b}.layout-editor:not(.layout-editor-dragging) .layout-element-focused>.layout-element-wrapper>.layout-panel>.layout-panel-action.disabled{cursor:default;color:hsla(0,0%,100%,.4)}.layout-editor:not(.layout-editor-dragging) .layout-element-focused>.layout-element-wrapper>.layout-panel>.layout-panel-action.disabled:hover{background-color:#648721}.layout-editor:not(.layout-editor-dragging) .layout-element-focused>.layout-element-wrapper>.layout-panel>.layout-panel-action.active{color:#deff42;background-color:#739b26}.layout-editor:not(.layout-editor-dragging) .layout-element-focused>.layout-element-wrapper>.layout-panel>.layout-panel-action.active:hover{background-color:#82b02b}.layout-editor:not(.layout-editor-dragging) .layout-element-selected{background-color:rgba(100,135,33,.08)}.layout-editor .ui-sortable-placeholder{display:none}.layout-editor .layout-element-droptarget{box-shadow:inset 0 0 12px 6px rgba(100,135,33,.5)}.layout-editor .layout-element-droptarget .ui-sortable-placeholder{display:block;visibility:visible!important;min-height:78px;border:2px dashed #648721!important;background-color:rgba(100,135,33,.16)}.layout-editor .media-thumbnail img{max-width:100%;max-height:100%}.layout-editor .layout-container>.layout-element-wrapper>.layout-container-children-placeholder{display:none;-ms-flex-direction:column;flex-direction:column;margin:11px;min-height:80px;border:1px dashed hsla(0,0%,49%,.4);border-radius:4px;padding:12px;-ms-flex-pack:center;justify-content:center;font-size:13px;font-style:italic;opacity:.6;text-align:center}.layout-editor .layout-container>.layout-element-wrapper>.layout-children{padding:12px}.layout-editor .layout-container>.layout-element-wrapper>.layout-children>.layout-element:not(.layout-container)+.layout-element:not(.layout-container){margin-top:12px}.layout-editor .layout-container>.layout-element-wrapper>.layout-children>.ui-sortable-helper:first-child+.layout-element:not(.layout-container){margin-top:0}.layout-editor .layout-container>.layout-element-wrapper.layout-container-empty>.layout-container-children-placeholder{display:-ms-flexbox;display:flex}.layout-editor .layout-container>.layout-element-wrapper.layout-container-empty>.layout-children{position:absolute;top:0;right:0;bottom:0;left:0}.layout-editor:not(.layout-editor-dragging) .layout-container.layout-element-focused>.layout-element-wrapper>.layout-children>.layout-element:not(.layout-element-active){border:1px dashed hsla(0,0%,49%,.6)}.layout-editor:not(.layout-editor-dragging) .layout-container.layout-element-focused>.layout-element-wrapper>.layout-children>.layout-element:not(.layout-element-active)>.layout-element-wrapper{margin:-1px}.layout-editor:not(.layout-editor-dragging) .layout-container.layout-element-focused>.layout-element-wrapper>.layout-children>.layout-container+.layout-container:not(.layout-element-active){border-top:0}.layout-editor:not(.layout-editor-dragging) .layout-container.layout-element-focused>.layout-element-wrapper>.layout-children>.layout-container+.layout-container:not(.layout-element-active)>.layout-element-wrapper{margin-top:0}.layout-editor .layout-canvas #dummy{display:none}.layout-editor .layout-row.layout-element-focused:not(.layout-element-droptarget)>.layout-element-wrapper>.layout-children>.layout-element:not(.layout-element-active){border-top:1px dashed hsla(0,0%,49%,.6)!important}.layout-editor .layout-row.layout-element-focused:not(.layout-element-droptarget)>.layout-element-wrapper>.layout-children>.layout-element:not(.layout-element-active)>.layout-element-wrapper{margin-top:-1px!important}.layout-editor .layout-row.layout-element-focused:not(.layout-element-droptarget)>.layout-element-wrapper>.layout-children>.layout-element+.layout-element:not(.layout-element-active){border-left:0!important}.layout-editor .layout-row.layout-element-focused:not(.layout-element-droptarget)>.layout-element-wrapper>.layout-children>.layout-element+.layout-element:not(.layout-element-active)>.layout-element-wrapper{margin-left:0!important}.layout-editor .layout-column>.layout-element-wrapper>.layout-column-resize-bar{display:none;position:absolute;z-index:30;top:0;width:16px;height:100%;cursor:col-resize}.layout-editor .layout-column>.layout-element-wrapper>.layout-column-resize-bar-left{left:-6px}.layout-editor .layout-column>.layout-element-wrapper>.layout-column-resize-bar-right{right:-6px}.layout-editor .layout-column.layout-element-focused>.layout-element-wrapper>.layout-column-resize-bar{display:block}.layout-editor .layout-content,.layout-editor .layout-html{min-height:1em}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup{padding:2px;overflow-x:hidden;line-height:normal}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup *,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup *{margin:0;padding:0;box-sizing:content-box}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup address,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup blockquote,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup center,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup div,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup figcaption,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup figure,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup footer,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup form,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup header,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup hr,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup legend,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup listing,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup p,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup plaintext,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup pre,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup xmp,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup address,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup blockquote,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup center,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup div,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup figcaption,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup figure,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup footer,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup form,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup header,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup hr,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup legend,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup listing,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup p,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup plaintext,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup pre,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup xmp{display:block}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup blockquote,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup figure,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup listing,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup p,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup plaintext,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup pre,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup xmp,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup blockquote,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup figure,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup listing,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup p,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup plaintext,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup pre,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup xmp{margin-top:1em;margin-bottom:1em}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup blockquote,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup figure,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup blockquote,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup figure{margin-left:40px;margin-right:40px}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup address,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup address{font-style:italic}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup listing,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup plaintext,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup pre,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup xmp,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup listing,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup plaintext,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup pre,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup xmp{font-family:monospace;white-space:pre}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup cite,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup dfn,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup em,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup i,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup var,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup cite,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup dfn,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup em,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup i,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup var{font-style:italic}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup b,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup strong,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup b,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup strong{font-weight:bolder}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup code,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup kbd,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup samp,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup tt,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup code,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup kbd,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup samp,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup tt{font-family:monospace}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup big,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup big{font-size:larger}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup small,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup small{font-size:smaller}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup sub,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup sub{vertical-align:sub}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup sup,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup sup{vertical-align:super}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup sub,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup sup,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup sub,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup sup{line-height:normal;font-size:smaller}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup ruby,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup ruby{display:ruby}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup rb,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup rb{display:ruby-base;white-space:nowrap}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup rt,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup rt{display:ruby-text;white-space:nowrap;font-size:50%;font-variant-east-asian:ruby;text-emphasis:none}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup rbc,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup rbc{display:ruby-base-container}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup rtc,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup rtc{display:ruby-text-container}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup rb,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup rbc,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup rt,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup rtc,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup ruby,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup rb,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup rbc,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup rt,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup rtc,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup ruby{unicode-bidi:isolate}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup :link,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup :link{color:#00e}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup :visited,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup :visited{color:#551a8b}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup :link,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup :visited,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup :link,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup :visited{text-decoration:underline}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup a:link[rel~=help],.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup a:visited[rel~=help],.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup area:link[rel~=help],.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup area:visited[rel~=help],.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup a:link[rel~=help],.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup a:visited[rel~=help],.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup area:link[rel~=help],.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup area:visited[rel~=help]{cursor:help}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup :focus,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup :focus{outline:auto}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup mark,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup mark{background:#ff0;color:#000}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup abbr[title],.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup acronym[title],.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup abbr[title],.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup acronym[title]{text-decoration:dotted underline}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup ins,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup u,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup ins,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup u{text-decoration:underline}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup del,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup s,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup strike,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup del,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup s,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup strike{text-decoration:line-through}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup blink,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup blink{text-decoration:blink}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup q:before,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup q:before{content:open-quote}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup q:after,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup q:after{content:close-quote}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup br:before,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup br:before{content:"\A";white-space:pre}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup nobr,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup nobr{white-space:nowrap}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup wbr,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup wbr{content:"\200B"}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup nobr wbr,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup nobr wbr{white-space:normal}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup article,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup aside,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup h1,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup h2,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup h3,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup h4,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup h5,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup h6,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup hgroup,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup nav,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup section,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup article,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup aside,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup h1,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup h2,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup h3,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup h4,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup h5,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup h6,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup hgroup,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup nav,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup section{display:block}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup h1,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup h1{margin-top:.67em;margin-bottom:.67em;font-size:2em;font-weight:700}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup h2,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup h2{margin-top:.83em;margin-bottom:.83em;font-size:1.5em;font-weight:700}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup h3,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup h3{margin-top:1em;margin-bottom:1em;font-size:1.17em;font-weight:700}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup h4,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup h4{margin-top:1.33em;margin-bottom:1.33em;font-size:1em;font-weight:700}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup h5,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup h5{margin-top:1.67em;margin-bottom:1.67em;font-size:.83em;font-weight:700}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup h6,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup h6{margin-top:2.33em;margin-bottom:2.33em;font-size:.67em;font-weight:700}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup dd,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup dir,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup dl,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup dt,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup ol,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup ul,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup dd,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup dir,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup dl,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup dt,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup ol,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup ul{display:block}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup li,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup li{display:list-item}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup dir,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup dl,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup ol,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup ul,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup dir,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup dl,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup ol,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup ul{margin-top:1em;margin-bottom:1em}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup dir dir,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup dir dl,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup dir ol,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup dir ul,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup dl dir,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup dl dl,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup dl ol,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup dl ul,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup ol dir,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup ol dl,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup ol ol,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup ol ul,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup ul dir,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup ul dl,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup ul ol,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup ul ul,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup dir dir,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup dir dl,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup dir ol,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup dir ul,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup dl dir,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup dl dl,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup dl ol,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup dl ul,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup ol dir,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup ol dl,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup ol ol,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup ol ul,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup ul dir,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup ul dl,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup ul ol,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup ul ul{margin-top:0;margin-bottom:0}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup dd,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup dd{margin-left:40px}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup dir,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup ol,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup ul,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup dir,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup ol,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup ul{padding-left:40px}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup ol,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup ol{list-style-type:decimal}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup dir,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup ul,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup dir,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup ul{list-style-type:disc}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup dir dir,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup dir ul,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup ol dir,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup ol ul,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup ul dir,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup ul ul,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup dir dir,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup dir ul,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup ol dir,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup ol ul,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup ul dir,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup ul ul{list-style-type:circle}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup dir dir dir,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup dir dir ul,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup dir ol dir,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup dir ol ul,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup dir ul dir,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup dir ul ul,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup ol dir dir,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup ol dir ul,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup ol ol dir,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup ol ol ul,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup ol ul dir,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup ol ul ul,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup ul dir dir,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup ul dir ul,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup ul ol dir,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup ul ol ul,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup ul ul dir,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup ul ul ul,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup dir dir dir,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup dir dir ul,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup dir ol dir,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup dir ol ul,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup dir ul dir,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup dir ul ul,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup ol dir dir,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup ol dir ul,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup ol ol dir,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup ol ol ul,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup ol ul dir,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup ol ul ul,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup ul dir dir,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup ul dir ul,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup ul ol dir,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup ul ol ul,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup ul ul dir,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup ul ul ul{list-style-type:square}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup table,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup table{display:table}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup caption,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup caption{display:table-caption}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup colgroup,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup colgroup[hidden],.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup colgroup,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup colgroup[hidden]{display:table-column-group}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup col,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup col[hidden],.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup col,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup col[hidden]{display:table-column}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup thead,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup thead[hidden],.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup thead,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup thead[hidden]{display:table-header-group}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup tbody,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup tbody[hidden],.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup tbody,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup tbody[hidden]{display:table-row-group}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup tfoot,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup tfoot[hidden],.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup tfoot,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup tfoot[hidden]{display:table-footer-group}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup tr,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup tr[hidden],.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup tr,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup tr[hidden]{display:table-row}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup td,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup td[hidden],.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup th,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup th[hidden],.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup td,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup td[hidden],.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup th,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup th[hidden]{display:table-cell}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup col[hidden],.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup colgroup[hidden],.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup tbody[hidden],.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup td[hidden],.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup tfoot[hidden],.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup th[hidden],.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup thead[hidden],.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup tr[hidden],.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup col[hidden],.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup colgroup[hidden],.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup tbody[hidden],.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup td[hidden],.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup tfoot[hidden],.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup th[hidden],.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup thead[hidden],.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup tr[hidden]{visibility:collapse}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup table,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup table{box-sizing:border-box;border-spacing:2px;border-collapse:separate;text-indent:0}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup td,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup th,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup td,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup th{padding:1px}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup th,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup th{font-weight:700}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup table>tr,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup tbody,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup tfoot,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup thead,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup table>tr,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup tbody,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup tfoot,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup thead{vertical-align:middle}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup td,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup th,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup tr,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup td,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup th,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup tr{vertical-align:inherit}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup table,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup td,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup th,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup table,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup td,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup th{border-color:gray}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup tbody,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup tfoot,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup thead,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup tr,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup tbody,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup tfoot,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup thead,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup tr{border-color:inherit}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup button,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup input,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup keygen,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup optgroup,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup option,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup select,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup textarea,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup button,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup input,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup keygen,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup optgroup,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup option,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup select,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup textarea{text-indent:0}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup textarea,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup textarea{white-space:pre-wrap}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup button,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup input[type=button],.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup input[type=checkbox],.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup input[type=radio],.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup input[type=reset],.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup input[type=submit],.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup select,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup button,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup input[type=button],.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup input[type=checkbox],.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup input[type=radio],.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup input[type=reset],.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup input[type=submit],.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup select{box-sizing:border-box}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup button,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup input[type=button],.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup button,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup input[type=button]{padding:.3em .5em}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup hr,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup hr{color:gray;border-style:inset;border-width:1px;margin:.5em auto}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup fieldset,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup fieldset{margin-left:2px;margin-right:2px;border:2px groove ThreeDFace;padding:.35em .625em .75em}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup legend,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup legend{padding-left:2px;padding-right:2px}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup>:first-child,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup>:first-child{margin-top:0!important}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup>:last-child,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup>:last-child{margin-bottom:0!important}.layout-editor .img-responsive,.layout-editor .img-responsive img,.layout-editor .layout-content.layout-content-image>.layout-element-wrapper>.layout-content-markup>img,.layout-editor .layout-content.layout-content-vector-image>.layout-element-wrapper>.layout-content-markup>img,.layout-editor .layout-html.layout-content-image>.layout-element-wrapper>.layout-content-markup>img,.layout-editor .layout-html.layout-content-vector-image>.layout-element-wrapper>.layout-content-markup>img{display:block;width:100%;max-width:100%;height:auto}body .layout-toolbox-item{border:1px solid #e4e5e6;background-color:#fff;padding:9px 12px;cursor:default;list-style-type:none}body .layout-toolbox-item i{display:inline-block;width:16px;font:normal normal normal 14px/1 FontAwesome}body .layout-toolbox-item+.layout-toolbox-item{margin-top:4px}.layout-editor>.layout-toolbox-wrapper{position:sticky;top:1vh;padding-left:12px;width:220px;overflow-y:auto;scrollbar-width:thin;min-height:400px;max-height:98vh;height:100%}.layout-editor>.layout-toolbox-wrapper>.layout-toolbox{border:1px solid #e4e5e6;padding:6px;background-color:#f3f4f5}.layout-editor>.layout-toolbox-wrapper>.layout-toolbox .layout-toolbox-group .layout-toolbox-group-heading{display:block;margin-bottom:4px;text-decoration:none}.layout-editor>.layout-toolbox-wrapper>.layout-toolbox .layout-toolbox-group .layout-toolbox-group-heading:before{display:inline-block;width:10px;margin-right:4px;font:normal normal normal 14px/1 FontAwesome;text-align:center;content:"\f0d7"}.layout-editor>.layout-toolbox-wrapper>.layout-toolbox .layout-toolbox-group.collapsed .layout-toolbox-group-heading:before{content:"\f0da"}.layout-editor>.layout-toolbox-wrapper>.layout-toolbox .layout-toolbox-group.collapsed .layout-toolbox-items{display:none}.layout-editor>.layout-toolbox-wrapper>.layout-toolbox .layout-toolbox-group .layout-toolbox-section+.layout-toolbox-section{margin-top:4px}.layout-editor>.layout-toolbox-wrapper>.layout-toolbox .layout-toolbox-group .layout-toolbox-item{border:1px solid #e4e5e6;background-color:#fff;padding:9px 12px;cursor:default}.layout-editor>.layout-toolbox-wrapper>.layout-toolbox .layout-toolbox-group .layout-toolbox-item i{display:inline-block;width:16px;font:normal normal normal 14px/1 FontAwesome}.layout-editor>.layout-toolbox-wrapper>.layout-toolbox .layout-toolbox-group .layout-toolbox-item+.layout-toolbox-item{margin-top:4px}.layout-editor>.layout-toolbox-wrapper>.layout-toolbox .layout-toolbox-group+.layout-toolbox-group{margin-top:6px}.layout-editor .layout-popup{display:none;position:absolute;margin:0;box-shadow:3px 3px 11px 0 rgba(50,50,50,.5);border:1px solid #e4e5e6;padding:2px 0;background-color:#f7f7f7;list-style:none;z-index:20;color:#7c7c7c;text-align:left;cursor:default;white-space:nowrap;line-height:normal;min-width:300px}.layout-editor .layout-popup.wide{width:600px}.layout-editor .layout-popup .layout-popup-flex{display:-ms-flexbox;display:flex;padding:2px 5px}.layout-editor .layout-popup .layout-popup-flex .layout-popup-column+.layout-popup-column{margin-left:4px;border-left:1px solid hsla(0,0%,50%,.15);padding-left:4px}.layout-editor .layout-popup .layout-popup-item{padding:4px 6px}.layout-editor .layout-popup .layout-popup-label{font-size:.9em;font-weight:700;color:#7c7c7c}.layout-editor .layout-popup .layout-popup-action:hover{background-color:#f3f4f5;cursor:pointer}.layout-editor .layout-popup .layout-popup-input input[type=text],.layout-editor .layout-popup .layout-popup-input textarea{width:100%}.layout-editor .layout-popup .layout-popup-input>label{display:block;font-size:.9em} +.layout-editor-toolbar{-ms-flex-pack:justify;justify-content:space-between;position:relative;top:10px}.layout-editor-toolbar,.layout-editor-toolbar .layout-editor-toolbar-group{display:-ms-flexbox;display:flex}.layout-editor-toolbar .layout-editor-toolbar-group>li+li{margin-left:12px}.layout-editor{display:-ms-flexbox;display:flex;margin-top:1em;font-size:14px}.layout-editor>.layout-canvas-wrapper{-ms-flex:1 1;flex:1 1;height:fit-content;background-color:#f3f4f5;border:1px solid #e4e5e6}.layout-editor>.layout-canvas-wrapper>.layout-toolbar-container{display:none;margin:12px 12px 0;min-height:71px}.layout-editor>.layout-canvas-wrapper>.layout-toolbar-container>.mce-panel{width:100%!important}.layout-editor>.layout-canvas-wrapper .layout-content>.layout-element-wrapper .layout-content-markup>.layout-placeholder{border:1px dashed #ccc;padding:.2em .4em;background:#e8e8e8}.layout-editor .layout-snippet{background:#e8e8e8}.layout-editor-help-dialog{display:none}.layout-editor-help-dialog .help-row:after,.layout-editor-help-dialog .help-row:before{content:" ";display:table}.layout-editor-help-dialog .help-row:after{clear:both}.layout-editor-help-dialog .help-row>.help-column-full,.layout-editor-help-dialog .help-row>.help-column-half{margin:.5em 0}.layout-editor-help-dialog .help-row>.help-column-half{box-sizing:border-box;float:left;width:50%}.layout-editor-help-dialog .help-row>.help-column-half:nth-child(2n){padding-right:10px;clear:left}.layout-editor-help-dialog .help-row+.help-row{margin-top:1em}.layout-editor-help-dialog code{border-radius:4px;background-color:#f3f4f5;padding:2px 4px;font-family:monospace}.layout-editor-help-dialog p{margin-bottom:.5em;line-height:1.6em}.layout-editor-help-dialog table>tbody>tr>td:first-child{padding-right:10px}.layout-editor .layout-element{position:relative;margin-top:0;margin-right:0;margin-bottom:0;padding:0}.layout-editor .layout-element:not(.layout-column){margin-left:0}.layout-editor .layout-element>.layout-element-wrapper>.layout-panel{display:none;position:absolute;margin:0;z-index:20;height:25px;padding:0 6px;list-style:none;white-space:nowrap;line-height:25px;vertical-align:middle}.layout-editor .layout-element>.layout-element-wrapper>.layout-panel>.layout-panel-item{display:inline-block;height:25px;padding:1px 6px 0}.layout-editor .layout-element>.layout-element-wrapper>.layout-panel>.layout-panel-label{font-size:13px}.layout-editor .layout-element>.layout-element-wrapper>.layout-panel>.layout-panel-action{display:none;width:28px;cursor:pointer;text-align:center}.layout-editor .layout-element>.layout-element-wrapper>.layout-panel-main{top:-27px;left:-2px}.layout-editor li.layout-element{list-style:none}.layout-editor:not(.layout-editor-dragging) .layout-element-active,.layout-editor:not(.layout-editor-dragging) .layout-element-focused{border-width:2px;border-style:solid}.layout-editor:not(.layout-editor-dragging) .layout-element-active>.layout-element-wrapper,.layout-editor:not(.layout-editor-dragging) .layout-element-focused>.layout-element-wrapper{margin:-2px}.layout-editor:not(.layout-editor-dragging) .layout-element-active{border-color:hsla(0,0%,41%,.1)}.layout-editor:not(.layout-editor-dragging) .layout-element-active>.layout-element-wrapper>.layout-panel-main{display:block;z-index:30;background-color:hsla(0,0%,41%,.1)}.layout-editor:not(.layout-editor-dragging) .layout-element-focused{border-color:#648721}.layout-editor:not(.layout-editor-dragging) .layout-element-focused>.layout-element-wrapper>.layout-panel{display:block;background-color:#648721;color:#fefefe}.layout-editor:not(.layout-editor-dragging) .layout-element-focused>.layout-element-wrapper>.layout-panel>.layout-panel-action{display:inline-block}.layout-editor:not(.layout-editor-dragging) .layout-element-focused>.layout-element-wrapper>.layout-panel>.layout-panel-action:hover{background-color:#82b02b}.layout-editor:not(.layout-editor-dragging) .layout-element-focused>.layout-element-wrapper>.layout-panel>.layout-panel-action.disabled{cursor:default;color:hsla(0,0%,100%,.4)}.layout-editor:not(.layout-editor-dragging) .layout-element-focused>.layout-element-wrapper>.layout-panel>.layout-panel-action.disabled:hover{background-color:#648721}.layout-editor:not(.layout-editor-dragging) .layout-element-focused>.layout-element-wrapper>.layout-panel>.layout-panel-action.active{color:#deff42;background-color:#739b26}.layout-editor:not(.layout-editor-dragging) .layout-element-focused>.layout-element-wrapper>.layout-panel>.layout-panel-action.active:hover{background-color:#82b02b}.layout-editor:not(.layout-editor-dragging) .layout-element-selected{background-color:rgba(100,135,33,.08)}.layout-editor .ui-sortable-placeholder{display:none}.layout-editor .layout-element-droptarget{box-shadow:inset 0 0 12px 6px rgba(100,135,33,.5)}.layout-editor .layout-element-droptarget .ui-sortable-placeholder{display:block;visibility:visible!important;min-height:78px;border:2px dashed #648721!important;background-color:rgba(100,135,33,.16)}.layout-editor .media-thumbnail img{max-width:100%;max-height:100%}.layout-editor .layout-container>.layout-element-wrapper>.layout-container-children-placeholder{display:none;-ms-flex-direction:column;flex-direction:column;margin:11px;min-height:80px;border:1px dashed hsla(0,0%,49%,.4);border-radius:4px;padding:12px;-ms-flex-pack:center;justify-content:center;font-size:13px;font-style:italic;opacity:.6;text-align:center}.layout-editor .layout-container>.layout-element-wrapper>.layout-children{padding:12px}.layout-editor .layout-container>.layout-element-wrapper>.layout-children>.layout-element:not(.layout-container)+.layout-element:not(.layout-container){margin-top:12px}.layout-editor .layout-container>.layout-element-wrapper>.layout-children>.ui-sortable-helper:first-child+.layout-element:not(.layout-container){margin-top:0}.layout-editor .layout-container>.layout-element-wrapper.layout-container-empty>.layout-container-children-placeholder{display:-ms-flexbox;display:flex}.layout-editor .layout-container>.layout-element-wrapper.layout-container-empty>.layout-children{position:absolute;top:0;right:0;bottom:0;left:0}.layout-editor:not(.layout-editor-dragging) .layout-container.layout-element-focused>.layout-element-wrapper>.layout-children>.layout-element:not(.layout-element-active){border:1px dashed hsla(0,0%,49%,.6)}.layout-editor:not(.layout-editor-dragging) .layout-container.layout-element-focused>.layout-element-wrapper>.layout-children>.layout-element:not(.layout-element-active)>.layout-element-wrapper{margin:-1px}.layout-editor:not(.layout-editor-dragging) .layout-container.layout-element-focused>.layout-element-wrapper>.layout-children>.layout-container+.layout-container:not(.layout-element-active){border-top:0}.layout-editor:not(.layout-editor-dragging) .layout-container.layout-element-focused>.layout-element-wrapper>.layout-children>.layout-container+.layout-container:not(.layout-element-active)>.layout-element-wrapper{margin-top:0}.layout-editor .layout-canvas #dummy{display:none}.layout-editor .layout-row.layout-element-focused:not(.layout-element-droptarget)>.layout-element-wrapper>.layout-children>.layout-element:not(.layout-element-active){border-top:1px dashed hsla(0,0%,49%,.6)!important}.layout-editor .layout-row.layout-element-focused:not(.layout-element-droptarget)>.layout-element-wrapper>.layout-children>.layout-element:not(.layout-element-active)>.layout-element-wrapper{margin-top:-1px!important}.layout-editor .layout-row.layout-element-focused:not(.layout-element-droptarget)>.layout-element-wrapper>.layout-children>.layout-element+.layout-element:not(.layout-element-active){border-left:0!important}.layout-editor .layout-row.layout-element-focused:not(.layout-element-droptarget)>.layout-element-wrapper>.layout-children>.layout-element+.layout-element:not(.layout-element-active)>.layout-element-wrapper{margin-left:0!important}.layout-editor .layout-row>div>.layout-children{display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row}.layout-editor .layout-column>div>.layout-children{-ms-flex-direction:column;flex-direction:column}.layout-editor .layout-column>.layout-element-wrapper>.layout-column-resize-bar{display:none;position:absolute;z-index:30;top:0;width:16px;height:100%;cursor:col-resize}.layout-editor .layout-column>.layout-element-wrapper>.layout-column-resize-bar-left{left:-6px}.layout-editor .layout-column>.layout-element-wrapper>.layout-column-resize-bar-right{right:-6px}.layout-editor .layout-column.layout-element-focused>.layout-element-wrapper>.layout-column-resize-bar{display:block}.layout-editor .layout-content,.layout-editor .layout-html{min-height:1em}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup{padding:2px;overflow-x:hidden;line-height:normal}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup *,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup *{margin:0;padding:0;box-sizing:content-box}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup address,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup blockquote,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup center,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup div,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup figcaption,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup figure,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup footer,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup form,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup header,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup hr,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup legend,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup listing,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup p,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup plaintext,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup pre,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup xmp,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup address,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup blockquote,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup center,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup div,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup figcaption,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup figure,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup footer,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup form,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup header,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup hr,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup legend,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup listing,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup p,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup plaintext,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup pre,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup xmp{display:block}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup blockquote,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup figure,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup listing,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup p,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup plaintext,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup pre,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup xmp,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup blockquote,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup figure,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup listing,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup p,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup plaintext,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup pre,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup xmp{margin-top:1em;margin-bottom:1em}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup blockquote,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup figure,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup blockquote,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup figure{margin-left:40px;margin-right:40px}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup address,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup address{font-style:italic}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup listing,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup plaintext,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup pre,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup xmp,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup listing,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup plaintext,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup pre,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup xmp{font-family:monospace;white-space:pre}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup cite,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup dfn,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup em,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup i,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup var,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup cite,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup dfn,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup em,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup i,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup var{font-style:italic}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup b,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup strong,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup b,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup strong{font-weight:bolder}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup code,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup kbd,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup samp,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup tt,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup code,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup kbd,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup samp,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup tt{font-family:monospace}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup big,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup big{font-size:larger}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup small,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup small{font-size:smaller}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup sub,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup sub{vertical-align:sub}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup sup,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup sup{vertical-align:super}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup sub,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup sup,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup sub,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup sup{line-height:normal;font-size:smaller}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup ruby,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup ruby{display:ruby}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup rb,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup rb{display:ruby-base;white-space:nowrap}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup rt,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup rt{display:ruby-text;white-space:nowrap;font-size:50%;font-variant-east-asian:ruby;text-emphasis:none}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup rbc,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup rbc{display:ruby-base-container}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup rtc,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup rtc{display:ruby-text-container}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup rb,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup rbc,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup rt,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup rtc,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup ruby,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup rb,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup rbc,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup rt,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup rtc,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup ruby{unicode-bidi:isolate}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup :link,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup :link{color:#00e}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup :visited,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup :visited{color:#551a8b}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup :link,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup :visited,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup :link,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup :visited{text-decoration:underline}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup a:link[rel~=help],.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup a:visited[rel~=help],.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup area:link[rel~=help],.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup area:visited[rel~=help],.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup a:link[rel~=help],.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup a:visited[rel~=help],.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup area:link[rel~=help],.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup area:visited[rel~=help]{cursor:help}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup :focus,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup :focus{outline:auto}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup mark,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup mark{background:#ff0;color:#000}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup abbr[title],.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup acronym[title],.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup abbr[title],.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup acronym[title]{text-decoration:dotted underline}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup ins,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup u,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup ins,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup u{text-decoration:underline}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup del,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup s,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup strike,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup del,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup s,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup strike{text-decoration:line-through}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup blink,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup blink{text-decoration:blink}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup q:before,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup q:before{content:open-quote}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup q:after,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup q:after{content:close-quote}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup br:before,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup br:before{content:"\A";white-space:pre}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup nobr,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup nobr{white-space:nowrap}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup wbr,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup wbr{content:"\200B"}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup nobr wbr,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup nobr wbr{white-space:normal}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup article,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup aside,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup h1,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup h2,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup h3,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup h4,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup h5,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup h6,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup hgroup,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup nav,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup section,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup article,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup aside,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup h1,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup h2,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup h3,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup h4,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup h5,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup h6,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup hgroup,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup nav,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup section{display:block}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup h1,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup h1{margin-top:.67em;margin-bottom:.67em;font-size:2em;font-weight:700}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup h2,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup h2{margin-top:.83em;margin-bottom:.83em;font-size:1.5em;font-weight:700}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup h3,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup h3{margin-top:1em;margin-bottom:1em;font-size:1.17em;font-weight:700}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup h4,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup h4{margin-top:1.33em;margin-bottom:1.33em;font-size:1em;font-weight:700}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup h5,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup h5{margin-top:1.67em;margin-bottom:1.67em;font-size:.83em;font-weight:700}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup h6,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup h6{margin-top:2.33em;margin-bottom:2.33em;font-size:.67em;font-weight:700}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup dd,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup dir,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup dl,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup dt,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup ol,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup ul,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup dd,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup dir,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup dl,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup dt,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup ol,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup ul{display:block}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup li,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup li{display:list-item}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup dir,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup dl,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup ol,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup ul,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup dir,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup dl,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup ol,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup ul{margin-top:1em;margin-bottom:1em}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup dir dir,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup dir dl,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup dir ol,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup dir ul,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup dl dir,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup dl dl,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup dl ol,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup dl ul,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup ol dir,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup ol dl,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup ol ol,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup ol ul,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup ul dir,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup ul dl,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup ul ol,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup ul ul,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup dir dir,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup dir dl,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup dir ol,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup dir ul,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup dl dir,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup dl dl,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup dl ol,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup dl ul,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup ol dir,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup ol dl,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup ol ol,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup ol ul,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup ul dir,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup ul dl,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup ul ol,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup ul ul{margin-top:0;margin-bottom:0}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup dd,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup dd{margin-left:40px}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup dir,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup ol,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup ul,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup dir,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup ol,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup ul{padding-left:40px}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup ol,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup ol{list-style-type:decimal}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup dir,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup ul,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup dir,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup ul{list-style-type:disc}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup dir dir,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup dir ul,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup ol dir,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup ol ul,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup ul dir,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup ul ul,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup dir dir,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup dir ul,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup ol dir,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup ol ul,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup ul dir,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup ul ul{list-style-type:circle}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup dir dir dir,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup dir dir ul,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup dir ol dir,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup dir ol ul,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup dir ul dir,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup dir ul ul,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup ol dir dir,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup ol dir ul,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup ol ol dir,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup ol ol ul,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup ol ul dir,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup ol ul ul,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup ul dir dir,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup ul dir ul,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup ul ol dir,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup ul ol ul,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup ul ul dir,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup ul ul ul,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup dir dir dir,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup dir dir ul,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup dir ol dir,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup dir ol ul,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup dir ul dir,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup dir ul ul,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup ol dir dir,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup ol dir ul,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup ol ol dir,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup ol ol ul,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup ol ul dir,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup ol ul ul,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup ul dir dir,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup ul dir ul,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup ul ol dir,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup ul ol ul,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup ul ul dir,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup ul ul ul{list-style-type:square}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup table,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup table{display:table}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup caption,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup caption{display:table-caption}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup colgroup,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup colgroup[hidden],.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup colgroup,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup colgroup[hidden]{display:table-column-group}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup col,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup col[hidden],.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup col,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup col[hidden]{display:table-column}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup thead,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup thead[hidden],.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup thead,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup thead[hidden]{display:table-header-group}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup tbody,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup tbody[hidden],.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup tbody,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup tbody[hidden]{display:table-row-group}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup tfoot,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup tfoot[hidden],.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup tfoot,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup tfoot[hidden]{display:table-footer-group}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup tr,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup tr[hidden],.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup tr,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup tr[hidden]{display:table-row}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup td,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup td[hidden],.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup th,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup th[hidden],.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup td,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup td[hidden],.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup th,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup th[hidden]{display:table-cell}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup col[hidden],.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup colgroup[hidden],.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup tbody[hidden],.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup td[hidden],.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup tfoot[hidden],.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup th[hidden],.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup thead[hidden],.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup tr[hidden],.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup col[hidden],.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup colgroup[hidden],.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup tbody[hidden],.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup td[hidden],.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup tfoot[hidden],.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup th[hidden],.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup thead[hidden],.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup tr[hidden]{visibility:collapse}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup table,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup table{box-sizing:border-box;border-spacing:2px;border-collapse:separate;text-indent:0}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup td,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup th,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup td,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup th{padding:1px}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup th,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup th{font-weight:700}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup table>tr,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup tbody,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup tfoot,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup thead,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup table>tr,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup tbody,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup tfoot,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup thead{vertical-align:middle}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup td,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup th,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup tr,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup td,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup th,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup tr{vertical-align:inherit}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup table,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup td,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup th,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup table,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup td,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup th{border-color:gray}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup tbody,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup tfoot,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup thead,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup tr,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup tbody,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup tfoot,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup thead,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup tr{border-color:inherit}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup button,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup input,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup keygen,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup optgroup,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup option,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup select,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup textarea,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup button,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup input,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup keygen,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup optgroup,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup option,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup select,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup textarea{text-indent:0}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup textarea,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup textarea{white-space:pre-wrap}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup button,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup input[type=button],.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup input[type=checkbox],.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup input[type=radio],.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup input[type=reset],.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup input[type=submit],.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup select,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup button,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup input[type=button],.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup input[type=checkbox],.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup input[type=radio],.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup input[type=reset],.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup input[type=submit],.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup select{box-sizing:border-box}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup button,.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup input[type=button],.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup button,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup input[type=button]{padding:.3em .5em}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup hr,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup hr{color:gray;border-style:inset;border-width:1px;margin:.5em auto}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup fieldset,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup fieldset{margin-left:2px;margin-right:2px;border:2px groove ThreeDFace;padding:.35em .625em .75em}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup legend,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup legend{padding-left:2px;padding-right:2px}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup>:first-child,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup>:first-child{margin-top:0!important}.layout-editor .layout-content>.layout-element-wrapper .layout-content-markup>:last-child,.layout-editor .layout-html>.layout-element-wrapper .layout-content-markup>:last-child{margin-bottom:0!important}.layout-editor .img-responsive,.layout-editor .img-responsive img,.layout-editor .layout-content.layout-content-image>.layout-element-wrapper>.layout-content-markup>img,.layout-editor .layout-content.layout-content-vector-image>.layout-element-wrapper>.layout-content-markup>img,.layout-editor .layout-html.layout-content-image>.layout-element-wrapper>.layout-content-markup>img,.layout-editor .layout-html.layout-content-vector-image>.layout-element-wrapper>.layout-content-markup>img{display:block;width:100%;max-width:100%;height:auto}body .layout-toolbox-item{border:1px solid #e4e5e6;background-color:#fff;padding:9px 12px;cursor:default;list-style-type:none}body .layout-toolbox-item i{display:inline-block;width:16px;font:normal normal normal 14px/1 FontAwesome}body .layout-toolbox-item+.layout-toolbox-item{margin-top:4px}.layout-editor>.layout-toolbox-wrapper{position:sticky;top:1vh;padding-left:12px;width:220px;overflow-y:auto;scrollbar-width:thin;min-height:400px;max-height:98vh;height:100%}.layout-editor>.layout-toolbox-wrapper>.layout-toolbox{border:1px solid #e4e5e6;padding:6px;background-color:#f3f4f5}.layout-editor>.layout-toolbox-wrapper>.layout-toolbox .layout-toolbox-group .layout-toolbox-group-heading{display:block;margin-bottom:4px;text-decoration:none}.layout-editor>.layout-toolbox-wrapper>.layout-toolbox .layout-toolbox-group .layout-toolbox-group-heading:before{display:inline-block;width:10px;margin-right:4px;font:normal normal normal 14px/1 FontAwesome;text-align:center;content:"\f0d7"}.layout-editor>.layout-toolbox-wrapper>.layout-toolbox .layout-toolbox-group.collapsed .layout-toolbox-group-heading:before{content:"\f0da"}.layout-editor>.layout-toolbox-wrapper>.layout-toolbox .layout-toolbox-group.collapsed .layout-toolbox-items{display:none}.layout-editor>.layout-toolbox-wrapper>.layout-toolbox .layout-toolbox-group .layout-toolbox-section+.layout-toolbox-section{margin-top:4px}.layout-editor>.layout-toolbox-wrapper>.layout-toolbox .layout-toolbox-group .layout-toolbox-item{border:1px solid #e4e5e6;background-color:#fff;padding:9px 12px;cursor:default}.layout-editor>.layout-toolbox-wrapper>.layout-toolbox .layout-toolbox-group .layout-toolbox-item i{display:inline-block;width:16px;font:normal normal normal 14px/1 FontAwesome}.layout-editor>.layout-toolbox-wrapper>.layout-toolbox .layout-toolbox-group .layout-toolbox-item+.layout-toolbox-item{margin-top:4px}.layout-editor>.layout-toolbox-wrapper>.layout-toolbox .layout-toolbox-group+.layout-toolbox-group{margin-top:6px}.layout-editor .layout-popup{display:none;position:absolute;margin:0;box-shadow:3px 3px 11px 0 rgba(50,50,50,.5);border:1px solid #e4e5e6;padding:2px 0;background-color:#f7f7f7;list-style:none;z-index:20;color:#7c7c7c;text-align:left;cursor:default;white-space:nowrap;line-height:normal;min-width:300px}.layout-editor .layout-popup.wide{width:600px}.layout-editor .layout-popup .layout-popup-flex{display:-ms-flexbox;display:flex;padding:2px 5px}.layout-editor .layout-popup .layout-popup-flex .layout-popup-column+.layout-popup-column{margin-left:4px;border-left:1px solid hsla(0,0%,50%,.15);padding-left:4px}.layout-editor .layout-popup .layout-popup-item{padding:4px 6px}.layout-editor .layout-popup .layout-popup-label{font-size:.9em;font-weight:700;color:#7c7c7c}.layout-editor .layout-popup .layout-popup-action:hover{background-color:#f3f4f5;cursor:pointer}.layout-editor .layout-popup .layout-popup-input input[type=text],.layout-editor .layout-popup .layout-popup-input textarea{width:100%}.layout-editor .layout-popup .layout-popup-input>label{display:block;font-size:.9em}