PGh0bWwgZGlyPSJMVFIiPg0KICA8aGVhZD4NCiAgICA8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1XaW5kb3dzLTEyNTIiIC8+DQogICAgPG1ldGEgbmFtZT0idnNfdGFyZ2V0U2NoZW1hIiBjb250ZW50PSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL2ludGVsbGlzZW5zZS9pZTUiIC8+DQogICAgPHRpdGxlPlN0b3BBbmFseXplciBDbGFzczwvdGl0bGU+DQogICAgPHhtbD4NCiAgICA8L3htbD4NCiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSJNU0ROLmNzcyIgLz4NCiAgPC9oZWFkPg0KICA8Ym9keSBpZD0iYm9keUlEIiBjbGFzcz0iZHRCT0RZIj4NCiAgICA8ZGl2IGlkPSJuc2Jhbm5lciI+DQogICAgICA8ZGl2IGlkPSJiYW5uZXJyb3cxIj4NCiAgICAgICAgPHRhYmxlIGNsYXNzPSJiYW5uZXJwYXJ0aGVhZCIgY2VsbHNwYWNpbmc9IjAiPg0KICAgICAgICAgIDx0ciBpZD0iaGRyIj4NCiAgICAgICAgICAgIDx0ZCBjbGFzcz0icnVubmluZ2hlYWQiPkFwYWNoZSBMdWNlbmUuTmV0IDIuNC4wIENsYXNzIExpYnJhcnkgQVBJPC90ZD4NCiAgICAgICAgICAgIDx0ZCBjbGFzcz0icHJvZHVjdCI+DQogICAgICAgICAgICA8L3RkPg0KICAgICAgICAgIDwvdHI+DQogICAgICAgIDwvdGFibGU+DQogICAgICA8L2Rpdj4NCiAgICAgIDxkaXYgaWQ9IlRpdGxlUm93Ij4NCiAgICAgICAgPGgxIGNsYXNzPSJkdEgxIj5TdG9wQW5hbHl6ZXIgQ2xhc3M8L2gxPg0KICAgICAgPC9kaXY+DQogICAgPC9kaXY+DQogICAgPGRpdiBpZD0ibnN0ZXh0Ij4NCiAgICAgIDxwPkZpbHRlcnMgTGV0dGVyVG9rZW5pemVyIHdpdGggTG93ZXJDYXNlRmlsdGVyIGFuZCBTdG9wRmlsdGVyLiA8L3A+DQogICAgICA8cD5Gb3IgYSBsaXN0IG9mIGFsbCBtZW1iZXJzIG9mIHRoaXMgdHlwZSwgc2VlIDxhIGhyZWY9Ikx1Y2VuZS5OZXQuQW5hbHlzaXMuU3RvcEFuYWx5emVyTWVtYmVycy5odG1sIj5TdG9wQW5hbHl6ZXIgTWVtYmVyczwvYT4uPC9wPg0KICAgICAgPHA+DQogICAgICAgIDxhIGhyZWY9Im1zLWhlbHA6Ly9NUy5ORVRGcmFtZXdvcmtTREt2MS4xL2NwcmVmL2h0bWwvZnJscmZTeXN0ZW1PYmplY3RDbGFzc1RvcGljLmh0bSI+U3lzdGVtLk9iamVjdDwvYT4NCiAgICAgICAgPGJyIC8+oKCgPGEgaHJlZj0iTHVjZW5lLk5ldC5BbmFseXNpcy5BbmFseXplci5odG1sIj5MdWNlbmUuTmV0LkFuYWx5c2lzLkFuYWx5emVyPC9hPjxiciAvPqCgoKCgoDxiPkx1Y2VuZS5OZXQuQW5hbHlzaXMuU3RvcEFuYWx5emVyPC9iPjwvcD4NCiAgICAgIDxkaXYgY2xhc3M9InN5bnRheCI+DQogICAgICAgIDxkaXY+cHVibGljoHNlYWxlZKBjbGFzc6BTdG9wQW5hbHl6ZXI8Yj4gOiA8YSBocmVmPSJMdWNlbmUuTmV0LkFuYWx5c2lzLkFuYWx5emVyLmh0bWwiPkFuYWx5emVyPC9hPjwvYj48L2Rpdj4NCiAgICAgIDwvZGl2Pg0KICAgICAgPEg0IGNsYXNzPSJkdEg0Ij5UaHJlYWQgU2FmZXR5PC9IND4NCiAgICAgIDxQPlB1YmxpYyBzdGF0aWMgKDxiPlNoYXJlZDwvYj4gaW4gVmlzdWFsIEJhc2ljKSBtZW1iZXJzIG9mIHRoaXMgdHlwZSBhcmUgDQoJCQkJc2FmZSBmb3IgbXVsdGl0aHJlYWRlZCBvcGVyYXRpb25zLiBJbnN0YW5jZSBtZW1iZXJzIGFyZSA8Yj5ub3Q8L2I+IGd1YXJhbnRlZWQgdG8gYmUgDQoJCQkJdGhyZWFkLXNhZmUuPC9QPg0KICAgICAgPGg0IGNsYXNzPSJkdEg0Ij5SZXF1aXJlbWVudHM8L2g0Pg0KICAgICAgPHA+DQogICAgICAgIDxiPk5hbWVzcGFjZTogPC9iPg0KICAgICAgICA8YSBocmVmPSJMdWNlbmUuTmV0LkFuYWx5c2lzLmh0bWwiPkx1Y2VuZS5OZXQuQW5hbHlzaXM8L2E+DQogICAgICA8L3A+DQogICAgICA8cD4NCiAgICAgICAgPGI+QXNzZW1ibHk6IDwvYj5MdWNlbmUuTmV0IChpbiBMdWNlbmUuTmV0LmRsbCkNCgkJCQkJPC9wPg0KICAgICAgPGg0IGNsYXNzPSJkdEg0Ij5TZWUgQWxzbzwvaDQ+DQogICAgICA8cD4NCiAgICAgICAgPGEgaHJlZj0iTHVjZW5lLk5ldC5BbmFseXNpcy5TdG9wQW5hbHl6ZXJNZW1iZXJzLmh0bWwiPlN0b3BBbmFseXplciBNZW1iZXJzPC9hPiB8IDxhIGhyZWY9Ikx1Y2VuZS5OZXQuQW5hbHlzaXMuaHRtbCI+THVjZW5lLk5ldC5BbmFseXNpcyBOYW1lc3BhY2U8L2E+PC9wPg0KICAgICAgPG9iamVjdCB0eXBlPSJhcHBsaWNhdGlvbi94LW9sZW9iamVjdCIgY2xhc3NpZD0iY2xzaWQ6MWUyYTdiZDAtZGFiOS0xMWQwLWI5M2EtMDBjMDRmYzk5ZjllIiB2aWV3YXN0ZXh0PSJ0cnVlIiBzdHlsZT0iZGlzcGxheTogbm9uZTsiPg0KICAgICAgICA8cGFyYW0gbmFtZT0iS2V5d29yZCIgdmFsdWU9IlN0b3BBbmFseXplciBjbGFzcywgYWJvdXQgU3RvcEFuYWx5emVyIGNsYXNzIj4NCiAgICAgICAgPC9wYXJhbT4NCiAgICAgIDwvb2JqZWN0Pg0KICAgICAgPGhyIC8+DQogICAgICA8ZGl2IGlkPSJmb290ZXIiPg0KICAgICAgICA8cD4NCiAgICAgICAgPC9wPg0KICAgICAgICA8cD5HZW5lcmF0ZWQgZnJvbSBhc3NlbWJseSBMdWNlbmUuTmV0IFsyLjQuMC4yXTwvcD4NCiAgICAgIDwvZGl2Pg0KICAgIDwvZGl2Pg0KICA8L2JvZHk+DQo8L2h0bWw+