PGh0bWw+PGhlYWQ+DQo8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL2RlZmF1bHRfc3R5bGUuY3NzIj4NCjx0aXRsZT5FY2xpcHNlIEZvdW5kYXRpb248L3RpdGxlPg0KPC9oZWFkPg0KPGJvZHkgdGV4dD0iIzAwMDAwMCIgYmdjb2xvcj0iI2ZmZmZmZiIgbGluaz0iIzAwMDBlZSIgdmxpbms9IiM1NTFhOGIiIGFsaW5rPSIjZmYwMDAwIj4NCjx0YWJsZSBib3JkZXI9MCBjZWxsc3BhY2luZz01IGNlbGxwYWRkaW5nPTIgd2lkdGg9IjEwMCUiID4NCiAgPHRyPiANCiAgICA8dGQgYWxpZ249bGVmdCB3aWR0aD0iNzIlIj4gPGZvbnQgY2xhc3M9aW5kZXh0b3A+IEVjbGlwc2VDb24gMjAwNSA8L2ZvbnQ+PGJyPg0KICAgICAgPGZvbnQgY2xhc3M9aW5kZXhzdWI+Jm5ic3A7IDwvZm9udD48L3RkPg0KICAgIDx0ZCB3aWR0aD0iMjglIj48aW1nIHNyYz0iLi4vLi4vaW1hZ2VzL0lkZWEuanBnIiBoZWlnaHQ9ODYgd2lkdGg9MTIwPjwvdGQ+DQogIDwvdHI+DQo8L3RhYmxlPg0KPHRhYmxlIGJvcmRlcj0wIGNlbGxzcGFjaW5nPTUgY2VsbHBhZGRpbmc9MiB3aWR0aD0iMTAwJSIgPg0KICA8dHI+IA0KICAgIDx0ZCBhbGlnbj0ibGVmdCIgdmFsaWduPSJ0b3AiIGJnY29sb3I9IiMwMDgwQzAiPjxiPjxmb250IGNvbG9yPSIjRkZGRkZGIiBmYWNlPSJBcmlhbCxIZWx2ZXRpY2EiPlByZXNzIHJlbGVhc2U8L2ZvbnQ+PC9iPjwvdGQ+DQogIDwvdHI+DQogIDx0cj4gDQogICAgPHRkPiA8YnI+DQogICAgICA8aDEgQUxJR049IkNFTlRFUiI+PGI+PHNwYW4gc3R5bGU9J2ZvbnQtc2l6ZToxNi4wcHQ7Zm9udC1mYW1pbHk6QXJpYWw7IlRpbWVzIE5ldyBSb21hbiInPjxiPiANCiAgICAgICAgRWNsaXBzZSBNb21lbnR1bSBDdWxtaW5hdGVzIGluIDJuZCBBbm51YWwgRWNsaXBzZUNvbiAyMDA1PC9iPjwvc3Bhbj48L2I+PC9oMT4NCiAgICAgIDx1bD4NCiAgICAgICAgPGxpPk5ldyBTdHJhdGVnaWMgRGV2ZWxvcGVycyBhbmQgRWNsaXBzZSBQcm9qZWN0IFJlbGVhc2VzIE1hcmsgU3VjY2Vzc2Z1bCBTb2xkLU91dCBFdmVudDwvbGk+DQogICAgICA8L3VsPg0KICAgICAgPFA+RUNMSVBTRUNPTiAyMDA1LCBCVVJMSU5HQU1FLCBDQSZtZGFzaDtNYXJjaCAxLCAyMDA1Jm1kYXNoO1RoZSBFY2xpcHNlIEZvdW5kYXRpb24gdG9kYXkgYW5ub3VuY2VkIHRoZSBzdGFydCBvZiB0aGUgc2Vjb25kIGFubnVhbCBFY2xpcHNlQ29uIGNvbmZlcmVuY2UsIHdoaWNoIHRha2VzIHBsYWNlIGF0IHRoZSBIeWF0dCBSZWdlbmN5IGluIEJ1cmxpbmdhbWUsIENhbGlmLiBhbmQgd2lsbCBydW4gdGhyb3VnaCBNYXJjaCAzLCAyMDA1LiBIaWdobGlnaHRzIGZyb20gdGhlIHNvbGQtb3V0IHNob3cgaW5jbHVkZSB0aGUgYWRkaXRpb24gb2Ygc2V2ZXJhbCBuZXcgU3RyYXRlZ2ljIERldmVsb3BlcnMgYW5kIHRoZSBhdmFpbGFiaWxpdHkgb2Ygc2V2ZXJhbCBFY2xpcHNlIHByb2plY3RzJnJzcXVvOyBtaWxlc3RvbmUgcmVsZWFzZXMuIFRoZSBzb2xkLW91dCBldmVudCB3aWxsIGhhdmUgMTAwMCBhdHRlbmRlZXMsIGRvemVucyBvZiBzZXNzaW9ucyBhbmQgdHV0b3JpYWxzIGFuZCAzNyBleGhpYml0b3JzLiBUaGlzIHllYXImcnNxdW87cyBjb25mZXJlbmNlIGF0dGVzdHMgdG8gdGhlIGVub3Jtb3VzIHRyYWN0aW9uIHRoZSBFY2xpcHNlIGNvbW11bml0eSBoYXMgZ2FpbmVkIGluIHRoZSBpbmR1c3RyeSBhbmQgdGhlIHBvcHVsYXJpdHkgb2YgdGhlIEVjbGlwc2UgcGxhdGZvcm0gYW1vbmcgZGV2ZWxvcGVycyBhbmQgY29ycG9yYXRlIElUIGdyb3Vwcy4gPC9wPg0KICAgICAgPHA+JmxkcXVvO1NpbmNlIGl0cyBmb3VuZGluZywgRWNsaXBzZSBoYXMgbWFkZSBncmVhdCBzdHJpZGVzIHRvd2FyZHMgYSBzaW5nbGUgdmlzaW9uIG9mIGFuIG9wZW4gZGV2ZWxvcG1lbnQgcGxhdGZvcm0gYW5kIGEgdmlicmFudCBlY29zeXN0ZW0uIFRoZSBzdHJvbmcgcmVzcG9uc2UgZnJvbSBkZXZlbG9wZXJzIGFuZCB0aGUgc3VwcG9ydCBvZiBvdXIgbWVtYmVycyBoYXZlIGhlbHBlZCBtYWtlIEVjbGlwc2VDb24gYW4gb3ZlcndoZWxtaW5nIHN1Y2Nlc3MsJnJkcXVvOyBzYWlkIE1pa2UgTWlsaW5rb3ZpY2gsIGV4ZWN1dGl2ZSBkaXJlY3RvciBvZiB0aGUgRWNsaXBzZSBGb3VuZGF0aW9uLiAmbGRxdW87V2UmcnNxdW87dmUgcmVhY2hlZCBhIGNyaXRpY2FsIG1hc3MgYXQgdGhlIFN0cmF0ZWdpYyBEZXZlbG9wZXIgbGV2ZWwgYW5kIGFyZSB3ZWxsIG9uIG91ciB3YXkgdG8gZXN0YWJsaXNoaW5nIEVjbGlwc2UgYXMgdGhlIHVuaXZlcnNhbCBkZXZlbG9wbWVudCBwbGF0Zm9ybS4gQXMgd2UgbW92ZSBmb3J3YXJkLCBFY2xpcHNlIHdpbGwgYmUgZm9jdXNlZCBvbiByZXBsaWNhdGluZyBvdXIgc3VjY2Vzc2VzIHRvIGRhdGUgaW50byBvdGhlciBrZXkgYXJlYXMgb2YgdGhlIHNvZnR3YXJlIGRldmVsb3BtZW50IGxpZmVjeWNsZS4mcmRxdW87PC9wPg0KICAgICAgPHA+RWNsaXBzZUNvbiAyMDA1IGlzIHRoZSBwcmUtZW1pbmVudCBnYXRoZXJpbmcgb2YgRWNsaXBzZSBkZXZlbG9wZXJzLCBtZW1iZXJzIGFuZCBvcmdhbml6YXRpb25zIHVzaW5nIGFuZCBkZXBsb3lpbmcgRWNsaXBzZS1iYXNlZCB0ZWNobm9sb2dpZXMuIFRoZSBzaG93IGFsc28gcHJvdmlkZXMgYSBmb3J1bSB0byBkaXNjdXNzIGtleSBpc3N1ZXMgZmFjaW5nIHRoZSBjb21tdW5pdHkgYW5kIHRvIGhlYXIgYWJvdXQgZGV2ZWxvcG1lbnRzIHRvIGNvbWUgaW4gMjAwNS4gU2hvdyBoaWdobGlnaHRzIGluY2x1ZGU6PC9wPg0KICAgICAgPHVsPg0KICAgICAgICA8bGk+IFNldmVyYWwgbWFqb3IgaW5kdXN0cnkgc29mdHdhcmUgdmVuZG9ycyBqb2luZWQgYXMgU3RyYXRlZ2ljIERldmVsb3BlcnMgYW5kIEJvYXJkIE1lbWJlcnMgb2YgdGhlIEZvdW5kYXRpb24uIA0KCQlFbWJyYWNpbmcgdGhlIEVjbGlwc2UgdmlzaW9uLCBCRUEgU3lzdGVtcyAoTmFzZGFxOiBCRUFTKSwgQm9ybGFuZCBTb2Z0d2FyZSAoTmFzZGFxOiBCT1JMKSwgDQoJCUNvbXB1dGVyIEFzc29jaWF0ZXMgKE5ZU0U6IENBKSwgU2NhcGEgVGVjaG5vbG9naWVzIGFuZCBTeWJhc2UgKE5ZU0U6IFNZKSwgaGF2ZSBhbGwgYW5ub3VuY2VkIA0KCQl0aGVpciBTdHJhdGVnaWMgRGV2ZWxvcGVyIG1lbWJlcnNoaXAgd2l0aCBFY2xpcHNlIEZvdW5kYXRpb24uIEFzIFN0cmF0ZWdpYyBEZXZlbG9wZXJzLCBlYWNoIA0KCQl2ZW5kb3IgaXMgY29tbWl0dGluZyB0byBsZWFkIGEgcHJvamVjdCBhdCBFY2xpcHNlLCBhdCBsZWFzdCBlaWdodCBmdWxsIHRpbWUgZGV2ZWxvcGVycyB0byB0aGUgDQoJCWNvbW11bml0eSBhbmQgYW5udWFsIGR1ZXMgb2YgdXB3YXJkcyBvZiAkMjUwLDAwMC4gVGhlc2UgY29tcGFuaWVzIGpvaW4gQWN0dWF0ZSAoTmFzZGFxOiBBQ1RVKSwgDQoJCUhld2xldHQgUGFja2FyZCAoTllTRTogSFApLCBJQk0gKE5ZU0U6IElCTSksIEludGVsIChOYXNkYXE6IElOVEMpLCBNb250YVZpc3RhIFNvZnR3YXJlLCANCgkJUU5YIFNvZnR3YXJlIFN5c3RlbXMsIFNBUCAoTllTRTogU0FQKSBhbmQgU2VyZW5hIChOYXNkYXE6IFNSTkEpIG9uIHRoZSBFY2xpcHNlIEJvYXJkIG9mIERpcmVjdG9ycy4NCgkJPC9saT48YnI+DQogICAgICAgIDxsaT4gQmVoaW5kLXRoZS1zY2VuZXMgbG9vayBhdCB0aGUgbGF0ZXN0IGRldmVsb3BtZW50cyBpbiBFY2xpcHNlIGNvbW11bml0eSBwcm9qZWN0cy4gQW1vbmcgDQoJCXRoZXNlIGFyZSB0aGUgV2ViIFRvb2xzIFBsYXRmb3JtIChXVFApIFByb2plY3QsIHdoaWNoIG1hZGUgYXZhaWxhYmxlIGl0cyBtaWxlc3RvbmUgcmVsZWFzZSBvZiANCgkJV2ViIHNlcnZpY2VzIHRvb2xzLCBpbmNsdWRpbmcgdGhlIG9wZW4gc291cmNlIGltcGxlbWVudGF0aW9uIG9mIHRoZSBXUy1JIEJhc2ljIFByb2ZpbGUgDQoJCXZhbGlkYXRpb24gdG9vbDsgdGhlIEJ1c2luZXNzIEludGVsbGlnZW5jZSBhbmQgUmVwb3J0aW5nIFRvb2xzIChCSVJUKSBQcm9qZWN0LCB3aGljaCBpbnRyb2R1Y2VkIA0KCQlpdHMgZmlyc3QgZGV2ZWxvcGVyIHJlbGVhc2U7IGFuZCB0aGUgVGVzdCBhbmQgUGVyZm9ybWFuY2UgVG9vbHMgUGxhdGZvcm0gKFRQVFApIFByb2plY3QsIHdoaWNoIA0KCQlpcyBwcm92aWRpbmcgYW4gdXBkYXRlIHRvIHRoZSBjb21tdW5pdHkuIE90aGVyIGtleSBwcm9qZWN0cyB0aGF0IHdpbGwgYmUgaGlnaGxpZ2h0ZWQgYXQgdGhlIA0KCQljb25mZXJlbmNlIGluY2x1ZGUgdGhlIEVjbGlwc2UgUGxhdGZvcm0sIHRoZSBwcmUtZW1pbmVudCBKYXZhIElERSBpbiB1c2UgdG9kYXkgYW5kIHRoZSBFY2xpcHNlIA0KCQlSaWNoIENsaWVudCBQbGF0Zm9ybSAoUkNQKS4gPC9saT48YnI+DQoJCTxsaT5BIGZ1bGwgbGluZSB1cCBvZiBrZXlub3RlcywgYnVzaW5lc3MgZm9ydW1zLCB0dXRvcmlhbHMgYW5kIHRlY2huaWNhbCBzZXNzaW9ucyANCgkJZm9jdXNlZCBvbiB1bmRlcnN0YW5kaW5nIEVjbGlwc2UgcHJvamVjdHMsIHVzaW5nIEVjbGlwc2UgdG9vbHMgYW5kIGV4cGVyaWVuY2VzIHVzaW5nIA0KCQlFY2xpcHNlLiBLZXlub3RlcyB3aWxsIGJlIGRlbGl2ZXJlZCBieSBpbmR1c3RyeSBpbmZsdWVuY2VycyBUaW0gTyZyc3F1bztSZWlsbHksIA0KCQlwcmVzaWRlbnQsIE8mcnNxdW87UmVpbGx5ICZhbXA7IEFzc29jaWF0ZXM7IFVycyBIb2V6bGUsIGZlbGxvdywgR29vZ2xlOyBhbmQgTGVlIE5hY2ttYW4sIA0KCQlDVE8sIElCTSBSYXRpb25hbC4gUHJlc2VudGF0aW9ucyBmcm9tIEJNVywgTkFTQSwgRm9ycmVzdGVyIFJlc2VhcmNoIGFuZCBNaWNyb3NvZnQgYXJlIGFtb25nIA0KCQlzb21lIG9mIHRoZSBvdGhlciBzZXNzaW9uIGhpZ2hsaWdodHMgYXQgdGhlIGNvbmZlcmVuY2UuIEEgY29tcGxldGUgY29uZmVyZW5jZSBwcm9ncmFtIGlzIA0KCQlhdmFpbGFibGUgYXQgd3d3LmVjbGlwc2Vjb24ub3JnLjwvbGk+DQogICAgICA8L3VsPiAgICAgIA0KICAgICAgPFA+PGJyPg0KICAgICAgPC9wPjwvdGQ+DQogIDwvdHI+DQo8L3RhYmxlPg0KPHRhYmxlIHdpZHRoPSIxMDAlIiBjZWxsc3BhY2luZz0wIGNlbGxwYWRkaW5nPTMgYWxpZ249Y2VudGVyPg0KCQk8dHIgYmdjb2xvcj0iIzk5OTk5OSI+DQoJCQ0KICAgIDx0ZCBhbGlnbj0ibGVmdCIgdmFsaWduPSJ0b3AiIGJnY29sb3I9IiMwMDgwQzAiPjxiPjxmb250IGNvbG9yPSIjRkZGRkZGIiBmYWNlPSJBcmlhbCxIZWx2ZXRpY2EiPkFib3V0IHRoZSBFY2xpcHNlIEZvdW5kYXRpb248L2ZvbnQ+PC9iPjwvdGQ+DQoJCTwvVFI+DQoJCTxUUj4NCgkJPHRkIGFsaWduPWxlZnQ+DQoJCTxUQUJMRSAgd2lkdGg9IjEwMCUiIENFTExTUEFDSU5HPTAgQ0VMTFBBRERJTkc9Mz4NCgkJPHRyPg0KCQkgIDx0ZD4gDQogICAgICAgICAgICA8UD4gRWNsaXBzZSBpcyBhbiBvcGVuIHNvdXJjZSBjb21tdW5pdHkgd2hvc2UgcHJvamVjdHMgYXJlIGZvY3VzZWQgb24gcHJvdmlkaW5nIGFuIA0KCQkJZXh0ZW5zaWJsZSBkZXZlbG9wbWVudCBwbGF0Zm9ybSBhbmQgYXBwbGljYXRpb24gZnJhbWV3b3JrcyBmb3IgYnVpbGRpbmcgc29mdHdhcmUuICANCgkJCUVjbGlwc2UgcHJvdmlkZXMgZXh0ZW5zaWJsZSB0b29scyBhbmQgZnJhbWV3b3JrcyB0aGF0IHNwYW4gdGhlIHNvZnR3YXJlIGRldmVsb3BtZW50DQoJCQkgbGlmZWN5Y2xlLCBpbmNsdWRpbmcgc3VwcG9ydCBmb3IgbW9kZWxpbmcsIGxhbmd1YWdlIGRldmVsb3BtZW50IGVudmlyb25tZW50cyBmb3IgDQoJCQkgSmF2YSwgQy9DKysgYW5kIG90aGVycywgdGVzdGluZyBhbmQgcGVyZm9ybWFuY2UsIGJ1c2luZXNzIGludGVsbGlnZW5jZSwgcmljaCBjbGllbnQgDQoJCQkgYXBwbGljYXRpb25zIGFuZCBlbWJlZGRlZCBkZXZlbG9wbWVudC4gQSBsYXJnZSwgdmlicmFudCBlY29zeXN0ZW0gb2YgbWFqb3IgdGVjaG5vbG9neSANCgkJCSB2ZW5kb3JzLCBpbm5vdmF0aXZlIHN0YXJ0LXVwcywgdW5pdmVyc2l0aWVzIGFuZCByZXNlYXJjaCBpbnN0aXR1dGlvbnMgYW5kIGluZGl2aWR1YWxzIA0KCQkJIGV4dGVuZCwgY29tcGxlbWVudCBhbmQgc3VwcG9ydCB0aGUgRWNsaXBzZSBQbGF0Zm9ybS48L3A+DQogICAgICAgICAgICA8UD4gVGhlIEVjbGlwc2UgRm91bmRhdGlvbiBpcyBhIG5vdC1mb3ItcHJvZml0LCBtZW1iZXIgc3VwcG9ydGVkIGNvcnBvcmF0aW9uIHRoYXQgaG9zdHMgdGhlIEVjbGlwc2UgcHJvamVjdHMuIEZ1bGwgZGV0YWlscyBvZiBFY2xpcHNlIGFuZCB0aGUgRWNsaXBzZSBGb3VuZGF0aW9uIGFyZSBhdmFpbGFibGUgYXQgPGEgaHJlZj0iaHR0cDovL3d3dy5lY2xpcHNlLm9yZy8iIHRhcmdldD0iX3RvcCI+d3d3LmVjbGlwc2Uub3JnPC9hPiA8L3A+PC90ZD4NCgkJPC90cj4NCiAgICAgICAgPC90YWJsZT48L3RhYmxlPqANCgk8dGFibGUgd2lkdGg9IjEwMCUiIGNlbGxzcGFjaW5nPTAgY2VsbHBhZGRpbmc9MyBhbGlnbj1jZW50ZXI+DQoJCTx0ciBiZ2NvbG9yPSIjOTk5OTk5Ij4NCiAgICA8dGQgYWxpZ249ImxlZnQiIHZhbGlnbj0idG9wIiBiZ2NvbG9yPSIjMDA4MEMwIj48Yj48Zm9udCBjb2xvcj0iI0ZGRkZGRiIgZmFjZT0iQXJpYWwsSGVsdmV0aWNhIj5NZWRpYSANCiAgICAgIGNvbnRhY3Q8L2ZvbnQ+PC9iPjwvdGQ+DQoJCTwvVFI+DQo8L3RhYmxlPg0KCQkNCjx0YWJsZSB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iNSI+DQogIDx0cj4NCiAgICA8dGQgPiANCiAgICAgIDxkaXYgYWxpZ249ImNlbnRlciI+VGFuaWEgVHJlam88YnI+DQogICAgICAgIFNjaHdhcnR6IENvbW11bmljYXRpb25zPGJyPg0KICAgICAgICA3ODEtNjg0LTA3NzA8YnI+DQogICAgICA8YSBocmVmPSJtYWlsdG86ZWNsaXBzZUBzY2h3YXJ0ei1wci5jb20iPmVjbGlwc2VAc2Nod2FydHotcHIuY29tPC9hPjwvZGl2Pg0KICAgIDwvdGQ+DQogIDwvdHI+DQo8L3RhYmxlPg0KCQk8VEFCTEUgIHdpZHRoPSIxMDAlIiBDRUxMU1BBQ0lORz0wIENFTExQQURESU5HPTM+DQoJCTx0cj4NCgkJICA8dGQ+IA0KICAgICAgICAgICAgPGhyIHdpZHRoPSI4NSUiPg0KICAgICAgPFA+QnJhbmQgb3IgcHJvZHVjdCBuYW1lcyBhcmUgcmVnaXN0ZXJlZCB0cmFkZW1hcmtzIG9yIHRyYWRlbWFya3Mgb2YgdGhlaXIgDQogICAgICAgIHJlc3BlY3RpdmUgaG9sZGVycy4gSmF2YSBhbmQgYWxsIEphdmEtYmFzZWQgdHJhZGVtYXJrcyBhcmUgdHJhZGVtYXJrcyANCiAgICAgICAgb3IgcmVnaXN0ZXJlZCB0cmFkZW1hcmtzIG9mIFN1biBNaWNyb3N5c3RlbXMsIEluYy4gaW4gdGhlIFVuaXRlZCBTdGF0ZXMgDQogICAgICAgIGFuZCBvdGhlciBjb3VudHJpZXMuPGJyPg0KICAgICAgPC9QPg0KPGhyIHdpZHRoPSI4NSUiPg0KICAgIDwvdGQ+DQoJCTwvdHI+DQogICAgICAgIDwvdGFibGU+oCAgICAgICAgDQqgDQo8L2JvZHk+PC9odG1sPg0K