ZmlsZUNsYXNzTG9hZGVyLmNhblJlYWQ9TGUgculjZXB0YWNsZSAocmVwb3NpdG9yeSkgezB9IG5lIHBldXQg6nRyZSBsdQpmaWxlQ2xhc3NMb2FkZXIuZXhpc3RzPUxlIHLpY2VwdGFjbGUgKHJlcG9zaXRvcnkpIHswfSBuJydleGlzdGUgcGFzCmZpbGVDbGFzc0xvYWRlci5qYXJGaWxlPUltcG9zc2libGUgZGUgbGlyZSBsZSBmaWNoaWVyIEpBUiB7MH0KZmlsZUNsYXNzTG9hZGVyLnJlc3RyaWN0ZWQ9SW1wb3NzaWJsZSBkZSBjaGFyZ2VyIGxhIGNsYXNzZSByZXN0cmVpbnRlIChyZXN0cmljdGVkIGNsYXNzKSB7MH0Kc3RhbmRhcmRMb2FkZXIuYWRkUmVwb3NpdG9yeT1Bam91dCBkdSBy6WNlcHRhY2xlIChyZXBvc2l0b3J5KSB7MH0Kc3RhbmRhcmRMb2FkZXIuYWxyZWFkeVN0YXJ0ZWQ9TGUgY2hhcmdldXIgKGxvYWRlcikgYSBk6WrgIOl06SBk6W1hcnLpCnN0YW5kYXJkTG9hZGVyLmNoZWNrSW50ZXJ2YWw9SW1wb3NzaWJsZSBkZSBy6WdsZXIgbCcnaW50ZXJ2YWwgZGUgdulyaWZpY2F0aW9uIGRlIHJlY2hhcmdlbWVudCDgIHswfSBzZWNvbmRlcwpzdGFuZGFyZExvYWRlci5ub3RDb250ZXh0PUltcG9zc2libGUgZCcnYXV0by1yZWNoYXJnZXIgc2FucyBxdWUgbGUgY29udGVuZXVyIG5lIHNvaXQgdW4gY29udGV4dGUKc3RhbmRhcmRMb2FkZXIubm90UmVsb2FkYWJlPVByb3Byael06SBkZSByZWNoYXJnZW1lbnQgKHJlbG9hZGFibGUgcHJvcGVydHkpIG1pc2Ug4CBmYXV4CnN0YW5kYXJkTG9hZGVyLm5vdFN0YXJ0ZWQ9TGUgY2hhcmdldXIgKGxvYWRlcikgbicnYSBwYXMgZW5jb3JlIOl06SBk6W1hcnLpCnN0YW5kYXJkTG9hZGVyLnJlbG9hZGFibGU9SW1wb3NzaWJsZSBkZSBtZXR0cmUgbGEgcHJvcHJp6XTpIGRlIHJlY2hhcmdlbWVudCAocmVsb2FkYWJsZSBwcm9wZXJ0eSkg4CB7MH0Kc3RhbmRhcmRMb2FkZXIucmVsb2FkaW5nPUxlcyB26XJpZmljYXRpb25zIGRlIHJlY2hhcmdlbWVudCBzb250IGFjdGl26WVzIHBvdXIgY2UgY29udGV4dGUKc3RhbmRhcmRMb2FkZXIucmVtb3ZlUmVwb3NpdG9yeT1SZXRyYWl0IGR1IHLpY2VwdGFjbGUgKHJlcG9zaXRvcnkpIHswfQpzdGFuZGFyZExvYWRlci5zdGFydGluZz1E6W1hcnJhZ2UgZGUgY2UgY2hhcmdldXIgKGxvYWRlcikKc3RhbmRhcmRMb2FkZXIuc3RvcHBpbmc9QXJy6nQgZGUgY2UgY2hhcmdldXIgKGxvYWRlcikKd2ViYXBwTG9hZGVyLmFkZFJlcG9zaXRvcnk9QWpvdXQgZHUgculjZXB0YWNsZSAocmVwb3NpdG9yeSkgezB9CndlYmFwcExvYWRlci5kZXBsb3k9ROlwbG9pZW1lbnQgZGVzIGNsYXNzZXMgZGVzIHLpY2VwdGFjbGVzIChjbGFzcyByZXBvc2l0b3JpZXMpIHZlcnMgbGUgZG9zc2llciBkZSB0cmF2YWlsICh3b3JrIGRpcmVjdG9yeSkgezB9CndlYmFwcExvYWRlci5qYXJEZXBsb3k9ROlwbG9pZW1lbnQgZHUgSkFSIHswfSB2ZXJzIHsxfQp3ZWJhcHBMb2FkZXIuY2xhc3NEZXBsb3k9ROlwbG9pZW1lbnQgZGVzIGZpY2hpZXJzIGNsYXNzZXMgezB9IHZlcnMgezF9CndlYmFwcExvYWRlci5hbHJlYWR5U3RhcnRlZD1MZSBjaGFyZ2V1ciAobG9hZGVyKSBhIGTpauAg6XTpIGTpbWFycukKd2ViYXBwTG9hZGVyLmNoZWNrSW50ZXJ2YWw9SW1wb3NzaWJsZSBkZSBy6WdsZXIgbCcnaW50ZXJ2YWwgZGUgdulyaWZpY2F0aW9uIGRlIHJlY2hhcmdlbWVudCDgIHswfSBzZWNvbmRlcwp3ZWJhcHBMb2FkZXIubm90Q29udGV4dD1JbXBvc3NpYmxlIGQnJ2F1dG8tcmVjaGFyZ2VyIHNhbnMgcXVlIGxlIGNvbnRlbmV1ciBuZSBzb2l0IHVuIGNvbnRleHRlCndlYmFwcExvYWRlci5ub3RSZWxvYWRhYmU9UHJvcHJp6XTpIGRlIHJlY2hhcmdlbWVudCAocmVsb2FkYWJsZSBwcm9wZXJ0eSkgbWlzZSDgIGZhdXgKd2ViYXBwTG9hZGVyLm5vdFN0YXJ0ZWQ9TGUgY2hhcmdldXIgKGxvYWRlcikgbicnYSBwYXMgZW5jb3JlIOl06SBk6W1hcnLpCndlYmFwcExvYWRlci5yZWxvYWRhYmxlPUltcG9zc2libGUgZGUgbWV0dHJlIGxhIHByb3Byael06SBkZSByZWNoYXJnZW1lbnQgKHJlbG9hZGFibGUgcHJvcGVydHkpIOAgezB9CndlYmFwcExvYWRlci5yZWxvYWRpbmc9TGVzIHbpcmlmaWNhdGlvbnMgZGUgcmVjaGFyZ2VtZW50IHNvbnQgYWN0aXbpZXMgcG91ciBjZSBjb250ZXh0ZQp3ZWJhcHBMb2FkZXIucmVtb3ZlUmVwb3NpdG9yeT1SZXRyYWl0IGR1IHLpY2VwdGFjbGUgKHJlcG9zaXRvcnkpIHswfQp3ZWJhcHBMb2FkZXIuc3RhcnRpbmc9ROltYXJyYWdlIGRlIGNlIGNoYXJnZXVyIChsb2FkZXIpCndlYmFwcExvYWRlci5zdG9wcGluZz1BcnLqdCBkZSBjZSBjaGFyZ2V1ciAobG9hZGVyKQp3ZWJhcHBMb2FkZXIuZmFpbE1vZGlmaWVkQ2hlY2s9RXJyZXVyIGRhbnMgbGUgc3VpdmkgZGVzIG1vZGlmaWNhdGlvbnMK