PGh0bWwgZGlyPSJMVFIiPg0KICA8aGVhZD4NCiAgICA8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1XaW5kb3dzLTEyNTIiIC8+DQogICAgPG1ldGEgbmFtZT0idnNfdGFyZ2V0U2NoZW1hIiBjb250ZW50PSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL2ludGVsbGlzZW5zZS9pZTUiIC8+DQogICAgPHRpdGxlPkZpZWxkQ2FjaGUuR2V0U2hvcnRzIE1ldGhvZCAoSW5kZXhSZWFkZXIsIFN0cmluZyk8L3RpdGxlPg0KICAgIDx4bWw+DQogICAgPC94bWw+DQogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iTVNETi5jc3MiIC8+DQogIDwvaGVhZD4NCiAgPGJvZHkgaWQ9ImJvZHlJRCIgY2xhc3M9ImR0Qk9EWSI+DQogICAgPGRpdiBpZD0ibnNiYW5uZXIiPg0KICAgICAgPGRpdiBpZD0iYmFubmVycm93MSI+DQogICAgICAgIDx0YWJsZSBjbGFzcz0iYmFubmVycGFydGhlYWQiIGNlbGxzcGFjaW5nPSIwIj4NCiAgICAgICAgICA8dHIgaWQ9ImhkciI+DQogICAgICAgICAgICA8dGQgY2xhc3M9InJ1bm5pbmdoZWFkIj5BcGFjaGUgTHVjZW5lLk5ldCAyLjQuMCBDbGFzcyBMaWJyYXJ5IEFQSTwvdGQ+DQogICAgICAgICAgICA8dGQgY2xhc3M9InByb2R1Y3QiPg0KICAgICAgICAgICAgPC90ZD4NCiAgICAgICAgICA8L3RyPg0KICAgICAgICA8L3RhYmxlPg0KICAgICAgPC9kaXY+DQogICAgICA8ZGl2IGlkPSJUaXRsZVJvdyI+DQogICAgICAgIDxoMSBjbGFzcz0iZHRIMSI+RmllbGRDYWNoZS5HZXRTaG9ydHOgTWV0aG9koChJbmRleFJlYWRlciwgU3RyaW5nKTwvaDE+DQogICAgICA8L2Rpdj4NCiAgICA8L2Rpdj4NCiAgICA8ZGl2IGlkPSJuc3RleHQiPg0KICAgICAgPHA+Q2hlY2tzIHRoZSBpbnRlcm5hbCBjYWNoZSBmb3IgYW4gYXBwcm9wcmlhdGUgZW50cnksIGFuZCBpZiBub25lIGlzIGZvdW5kLCByZWFkcyB0aGUgdGVybXMgaW4gPHByZSBjbGFzcz0iY29kZSI+ZmllbGQ8L3ByZT4gYXMgc2hvcnRzIGFuZCByZXR1cm5zIGFuIGFycmF5IG9mIHNpemUgPHByZSBjbGFzcz0iY29kZSI+cmVhZGVyLm1heERvYygpPC9wcmU+IG9mIHRoZSB2YWx1ZSBlYWNoIGRvY3VtZW50IGhhcyBpbiB0aGUgZ2l2ZW4gZmllbGQuIDwvcD4NCiAgICAgIDxkaXYgY2xhc3M9InN5bnRheCI+DQogICAgICAgIDxhIGhyZWY9Im1zLWhlbHA6Ly9NUy5ORVRGcmFtZXdvcmtTREt2MS4xL2NwcmVmL2h0bWwvZnJscmZTeXN0ZW1JbnQxNkNsYXNzVG9waWMuaHRtIj5zaG9ydFtdPC9hPqBHZXRTaG9ydHMoPGJyIC8+oKCgPGEgaHJlZj0iTHVjZW5lLk5ldC5JbmRleC5JbmRleFJlYWRlci5odG1sIj5JbmRleFJlYWRlcjwvYT6gPGk+cmVhZGVyPC9pPiw8YnIgLz6goKA8YSBocmVmPSJtcy1oZWxwOi8vTVMuTkVURnJhbWV3b3JrU0RLdjEuMS9jcHJlZi9odG1sL2ZybHJmU3lzdGVtU3RyaW5nQ2xhc3NUb3BpYy5odG0iPnN0cmluZzwvYT6gPGk+ZmllbGQ8L2k+PGJyIC8+KTs8L2Rpdj4NCiAgICAgIDxoNCBjbGFzcz0iZHRINCI+UGFyYW1ldGVyczwvaDQ+DQogICAgICA8ZGw+DQogICAgICAgIDxkdD4NCiAgICAgICAgICA8aT5yZWFkZXI8L2k+DQogICAgICAgIDwvZHQ+DQogICAgICAgIDxkZD4gVXNlZCB0byBnZXQgZmllbGQgdmFsdWVzLiA8L2RkPg0KICAgICAgICA8ZHQ+DQogICAgICAgICAgPGk+ZmllbGQ8L2k+DQogICAgICAgIDwvZHQ+DQogICAgICAgIDxkZD4gV2hpY2ggZmllbGQgY29udGFpbnMgdGhlIHNob3J0cy4gPC9kZD4NCiAgICAgIDwvZGw+DQogICAgICA8aDQgY2xhc3M9ImR0SDQiPlJldHVybiBWYWx1ZTwvaDQ+DQogICAgICA8cD4gVGhlIHZhbHVlcyBpbiB0aGUgZ2l2ZW4gZmllbGQgZm9yIGVhY2ggZG9jdW1lbnQuIDwvcD4NCiAgICAgIDxoNCBjbGFzcz0iZHRINCI+U2VlIEFsc288L2g0Pg0KICAgICAgPHA+DQogICAgICAgIDxhIGhyZWY9Ikx1Y2VuZS5OZXQuU2VhcmNoLkZpZWxkQ2FjaGUuaHRtbCI+RmllbGRDYWNoZSBJbnRlcmZhY2U8L2E+IHwgPGEgaHJlZj0iTHVjZW5lLk5ldC5TZWFyY2guaHRtbCI+THVjZW5lLk5ldC5TZWFyY2ggTmFtZXNwYWNlPC9hPiB8IDxhIGhyZWY9Ikx1Y2VuZS5OZXQuU2VhcmNoLkZpZWxkQ2FjaGUuR2V0U2hvcnRzX292ZXJsb2Fkcy5odG1sIj5GaWVsZENhY2hlLkdldFNob3J0cyBPdmVybG9hZCBMaXN0PC9hPjwvcD4NCiAgICAgIDxvYmplY3QgdHlwZT0iYXBwbGljYXRpb24veC1vbGVvYmplY3QiIGNsYXNzaWQ9ImNsc2lkOjFlMmE3YmQwLWRhYjktMTFkMC1iOTNhLTAwYzA0ZmM5OWY5ZSIgdmlld2FzdGV4dD0idHJ1ZSIgc3R5bGU9ImRpc3BsYXk6IG5vbmU7Ij4NCiAgICAgICAgPHBhcmFtIG5hbWU9IktleXdvcmQiIHZhbHVlPSJHZXRTaG9ydHMgbWV0aG9kIj4NCiAgICAgICAgPC9wYXJhbT4NCiAgICAgICAgPHBhcmFtIG5hbWU9IktleXdvcmQiIHZhbHVlPSJHZXRTaG9ydHMgbWV0aG9kLCBGaWVsZENhY2hlIGludGVyZmFjZSI+DQogICAgICAgIDwvcGFyYW0+DQogICAgICAgIDxwYXJhbSBuYW1lPSJLZXl3b3JkIiB2YWx1ZT0iRmllbGRDYWNoZS5HZXRTaG9ydHMgbWV0aG9kIj4NCiAgICAgICAgPC9wYXJhbT4NCiAgICAgIDwvb2JqZWN0Pg0KICAgICAgPGhyIC8+DQogICAgICA8ZGl2IGlkPSJmb290ZXIiPg0KICAgICAgICA8cD4NCiAgICAgICAgPC9wPg0KICAgICAgICA8cD5HZW5lcmF0ZWQgZnJvbSBhc3NlbWJseSBMdWNlbmUuTmV0IFsyLjQuMC4yXTwvcD4NCiAgICAgIDwvZGl2Pg0KICAgIDwvZGl2Pg0KICA8L2JvZHk+DQo8L2h0bWw+