PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPCFET0NUWVBFIGh0bWwKICBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBUcmFuc2l0aW9uYWwvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtdHJhbnNpdGlvbmFsLmR0ZCI+CjxodG1sPgo8aGVhZD4KPCEtLSAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogKiBDb3B5cmlnaHQgKGMpIDIwMDAsIDIwMDUgSUJNIENvcnBvcmF0aW9uIGFuZCBvdGhlcnMuCiAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMKICogYXJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSB2MS4wCiAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0CiAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLXYxMC5odG1sCiAqIAogKiBDb250cmlidXRvcnM6CiAqICAgICBJQk0gQ29ycG9yYXRpb24gLSBpbml0aWFsIEFQSSBhbmQgaW1wbGVtZW50YXRpb24KICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovIC0tPgo8bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSIuLi8uLi9vcmcuZWNsaXBzZS53c3QuZG9jLnVzZXIvY29tbW9uLmNzcyIgLz4KPHRpdGxlPkphdmFTZXJ2ZXIgUGFnZXMgKEpTUCkgdGVjaG5vbG9neTwvdGl0bGU+CjwvaGVhZD4KPGJvZHkgaWQ9ImNwZGpzcHMiPjxhIG5hbWU9ImNwZGpzcHMiPjwhLS0gLS0+PC9hPgoKPGgxIGNsYXNzPSJ0b3BpY3RpdGxlMSI+SmF2YVNlcnZlciBQYWdlcyAoSlNQKSB0ZWNobm9sb2d5PC9oMT4KPGRpdj48cD5UaGUgSmF2YVNlcnZlciBQYWdlcyB0ZWNobm9sb2d5IGVuYWJsZXMgeW91IHRvIGdlbmVyYXRlIGR5bmFtaWMgd2ViIGNvbnRlbnQsCgpzdWNoIGFzIEhUTUwsIERIVE1MLCBYSFRNTCwgYW5kIFhNTCBmaWxlcywgdG8gaW5jbHVkZSBpbiBhIFdlYiBhcHBsaWNhdGlvbi4KCkpTUCBmaWxlcyBhcmUgb25lIHdheSB0byBpbXBsZW1lbnQgc2VydmVyLXNpZGUgZHluYW1pYwoKcGFnZSBjb250ZW50LiBKU1AgZmlsZXMgYWxsb3cgYSBXZWIgc2VydmVyLCBzdWNoIGFzIFdlYlNwaGVyZTxzdXA+rjwvc3VwPiBBcHBsaWNhdGlvbgoKU2VydmVyIG9yIEFwYWNoZSBUb21jYXQsIHRvIGFkZCBjb250ZW50IGR5bmFtaWNhbGx5IHRvIHlvdXIgSFRNTCBwYWdlcyBiZWZvcmUKCnRoZXkgYXJlIHNlbnQgdG8gYSByZXF1ZXN0aW5nIGJyb3dzZXIuPC9wPgo8cD5XaGVuIHlvdSBkZXBsb3kgYSBKU1AgZmlsZSB0byBhIFdlYiBzZXJ2ZXIgdGhhdCBwcm92aWRlcyBhIHNlcnZsZXQgZW5naW5lLAoKaXQgaXMgcHJlcHJvY2Vzc2VkIGludG8gYSBzZXJ2bGV0IHRoYXQgcnVucyBvbiB0aGUgV2ViIHNlcnZlci4gVGhpcyBpcyBpbgoKY29udHJhc3Qgd2l0aCBjbGllbnQtc2lkZSBKYXZhU2NyaXB0mSAod2l0aGluIDxzYW1wIGNsYXNzPSJjb2RlcGgiPiZsdDtTQ1JJUFQmZ3Q7PC9zYW1wPiB0YWdzKSwKCndoaWNoIGlzIHJ1biBpbiBhIGJyb3dzZXIuIEEgSlNQIHBhZ2UgaXMgaWRlYWwgZm9yIHRhc2tzIHRoYXQgYXJlIGJldHRlciBzdWl0ZWQKCnRvIGV4ZWN1dGlvbiBvbiB0aGUgc2VydmVyLCBzdWNoIGFzIGFjY2Vzc2luZyBkYXRhYmFzZXMgb3IgY2FsbGluZyBFbnRlcnByaXNlIEphdmGZIGJlYW5zLjwvcD4KPHA+WW91IGNhbiBjcmVhdGUgYW5kIGVkaXQgYSBKU1AgZmlsZSBpbiB0aGUgSFRNTCBlZGl0b3IKCmJ5IGFkZGluZyB5b3VyIG93biB0ZXh0IGFuZCBpbWFnZXMgdXNpbmcgSFRNTCwgSlNQIHRhZ2dpbmcsIG9yIEphdmFTY3JpcHQsCgppbmNsdWRpbmcgSmF2YSBzb3VyY2UgY29kZSBpbnNpZGUgb2Ygc2NyaXB0bGV0IHRhZ3MuIFR5cGljYWxseSwKCkpTUCBmaWxlcyBoYXZlIHRoZSBmaWxlIGV4dGVuc2lvbiAuanNwLiBBZGRpdGlvbmFsbHksIHRoZSBKU1Agc3BlY2lmaWNhdGlvbgoKc3VnZ2VzdHMgdGhhdCBKU1AgZnJhZ21lbnQgZmlsZXMgc2hvdWxkIGhhdmUgZmlsZSBleHRlbnNpb24gLmpzcGYuIElmIHRoaXMKCmNvbnZlbnRpb24gaXMgbm90IGZvbGxvd2VkLCB0aGUgSlNQIHZhbGlkYXRvciB3aWxsIHRyZWF0IEpTUCBmcmFnbWVudHMgYXMKCnJlZ3VsYXIgc3RhbmRhbG9uZSBKU1AgZmlsZXMsIGFuZCBjb21waWxhdGlvbiBlcnJvcnMgbWlnaHQgYmUgcmVwb3J0ZWQuPC9wPgo8cD5UaGUgPGNpdGU+U3VuIE1pY3Jvc3lzdGVtcyBKU1AgMS4yIFNwZWNpZmljYXRpb248L2NpdGU+IHByb3ZpZGVzIHRoZSBhYmlsaXR5Cgp0byBjcmVhdGUgY3VzdG9tIEpTUCB0YWdzLiBDdXN0b20gdGFncyBzaW1wbGlmeSBjb21wbGV4IGFjdGlvbnMgYW5kIAoKcHJvdmlkZSBkZXZlbG9wZXJzIHdpdGggZ3JlYXRlciBjb250cm9sIG92ZXIgcGFnZSBjb250ZW50LiBDdXN0b20gdGFncyBhcmUKCmNvbGxlY3RlZCBpbnRvIGEgbGlicmFyeSAodGFnbGliKS4gQSB0YWcgbGlicmFyeSBkZXNjcmlwdG9yIGZpbGUgKHRhZ2xpYi50bGQpCgppcyBhbiBYTUwgZG9jdW1lbnQgdGhhdCBwcm92aWRlcyBpbmZvcm1hdGlvbiBhYm91dCB0aGUgdGFnIGxpYnJhcnksIGluY2x1ZGluZwoKdGhlIHRhZ2xpYiBzaG9ydCBuYW1lLCBsaWJyYXJ5IGRlc2NyaXB0aW9uLCBhbmQgdGFnIGRlc2NyaXB0aW9ucy4gUmVmZXIgdG8KCnRoZSA8Y2l0ZT5TdW4gTWljcm9zeXN0ZW1zIEpTUCAxLjIgU3BlY2lmaWNhdGlvbjwvY2l0ZT4gZm9yIG1vcmUgZGV0YWlscy48L3A+CjxwPlRvIHVzZSBKU1AgMS4yIGN1c3RvbSB0YWdsaWJzLCB5b3UgY2FuIGltcG9ydCB0aGUgdGFnIGxpYnJhcnkgLnRsZCBhbmQKCi5qYXIgZmlsZXMgaW50byB5b3VyIHByb2plY3QgdG8gdXNlIHRoZW0sIG9yIGFzc29jaWF0ZSB0aGVtIGFzIFdlYiBMaWJyYXJ5Cgpwcm9qZWN0cy4gWW91IGNhbiBhbHNvIHJlZmVyZW5jZSBhIFRMRCBmaWxlIGJ5IHVzaW5nIGEgVVJJLjwvcD4KPC9kaXY+CjxkaXY+CjxwPjxiIGNsYXNzPSJyZWx0YXNrc2hkIj5SZWxhdGVkIHRhc2tzPC9iPjxiciAvPgo8YSBocmVmPSJ0amNyZWpzcC5odG1sIj5DcmVhdGluZyBKU1AgZmlsZXM8L2E+PGJyIC8+CjwvcD4KPC9kaXY+CjwvYm9keT4KPC9odG1sPg==