PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMDEgVHJhbnNpdGlvbmFsLy9FTiIKImh0dHA6Ly93d3cudzMub3JnL1RSL2h0bWw0L2xvb3NlLmR0ZCI+CjwhLS0gCiAgICBDb3B5cmlnaHQgKGMpIDIwMDUsIDIwMDYgSUJNIENvcnBvcmF0aW9uIGFuZCBvdGhlcnMuCiAgICBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCiAgICBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKICAgIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0CiAgICBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAogICAgQ29udHJpYnV0b3JzOgogICAgSUJNIENvcnBvcmF0aW9uIC0gaW5pdGlhbCBpbXBsZW1lbnRhdGlvbgotLT4KCjxodG1sPgo8aGVhZD4KPHRpdGxlPlVudGl0bGVkIERvY3VtZW50PC90aXRsZT4KPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9aXNvLTg4NTktMSI+CjwvaGVhZD4KCjxib2R5Pgo8aDI+PGE+RXhlcmNpc2UgMzogQnJvd3NlIFByb2Nlc3MgQ29udGVudCB2aWEgQnJvd3NpbmcgUGVyc3BlY3RpdmUgPC9hPjwvaDI+CjxwPiBUaGUgcHVycG9zZSBvZiB0aGlzIGV4ZXJjaXNlIGlzIHRvIGJlY29tZSBmYW1pbGlhciB3aXRoIGJyb3dzaW5nIHByb2Nlc3MgY29udGVudCBpbiBhIGxpYnJhcnkgdXNpbmcgdGhlIGJyb3dzaW5nIHBlcnNwZWN0aXZlIDwvcD4KPG9sPgogIDxsaT4KICAgIDxwPk1ha2Ugc3VyZSB5b3UgYXJlIGluIHRoZSBCcm93c2luZyBwZXJzcGVjdGl2ZS4gPC9wPgogIDwvbGk+CiAgPGxpPgogICAgPHA+VG8gdmlldyBhIENhcGFiaWxpdHkgUGF0dGVybiwgY2xpY2sgPHN0cm9uZz5Qcm9jZXNzZXMgJmd0OyBDYXBhYmlsaXR5IFBhdHRlcm5zICZndDsgQ2xhc3NpYyBSVVAgJmd0OyBEaXNjaXBsaW5lIFdvcmtmbG93cyAmZ3Q7IEFuYWx5c2lzIGFuZCBEZXNpZ248L3N0cm9uZz4uIEEgcHJldmlldyBvZiB0aGUgcHVibGlzaGVkIFdlYiBwYWdlIGZvciB0aGUgc2VsZWN0ZWQgQ2FwYWJpbGl0eSBQYXR0ZXJuIGlzIGRpc3BsYXllZC4gPC9wPgogIDwvbGk+CiAgPGxpPkEgQ2FwYWJpbGl0eSBQYXR0ZXJuIGNvbnRhaW5zIGEgbGFyZ2UgYW1vdW50IG9mIGluZm9ybWF0aW9uIGFuZCBpcyBkaXNwbGF5ZWQgb3ZlciBmb3VyIHRhYnMgliBEZXNjcmlwdGlvbiwgV29yayBCcmVha2Rvd24gU3RydWN0dXJlLCBXb3JrIFByb2R1Y3QgVXNhZ2UgYW5kIFRlYW0gQWxsb2NhdGlvbi4gRXhwbG9yZSB0aGUgaW5mb3JtYXRpb24gb24gZWFjaCB0YWIuIAogICAgPHA+Tm90ZSB0aGF0IHdoZW4geW91IGNsaWNrIG9uIGEgdGFzayBpbiB0aGUgV29yayBCcmVha2Rvd24gU3RydWN0dXJlIHRhYiB5b3UgcHJldmlldyBhIJFUYXNrIERlc2NyaXB0b3InLiBBIFRhc2sgRGVzY3JpcHRvciBpcyBhIHRhc2sgd2l0aGluIGEgcHJvY2Vzcy4gVGhlIHRhc2sgZGVzY3JpcHRvciBwYWdlIGhhcyBpbmZvcm1hdGlvbiBhYm91dCB0aGUgdGFzayBhcyBpdCBpcyB1c2VkIGF0IGEgc3BlY2lmaWMgcG9pbnQgaW4gYSBwcm9jZXNzLiBUaGUgdGFzayBkZXNjcmlwdG9yIGhhcyBhIGxpbmsgdG8gdGhlIFRhc2sgb24gd2hpY2ggaXQgaXMgYmFzZWQuIDwvcD4KICAgIDxwPkNsaWNraW5nIG9uIGEgcm9sZSBvciB3b3JrIHByb2R1Y3QgaW4gYSB0YXNrIGRlc2NyaXB0b3IgdGFrZXMgeW91IHRvIGEgUm9sZSBEZXNjcmlwdG9yIG9yIGEgV29yayBQcm9kdWN0IERlc2NyaXB0b3IuIFRoZXNlIHByb3ZpZGUgaW5mb3JtYXRpb24gYWJvdXQgdGhlIHJvbGUgb3Igd29yayBwcm9kdWN0IGF0IHRoZSBzYW1lIHBvaW50IGluIHRoZSBwcm9jZXNzIGFuZCBhbHNvIHByb3ZpZGUgbGlua3MgYmFjayB0byB0aGUgY29yZSBtZXRob2QgZWxlbWVudCBvbiB3aGljaCB0aGV5IGFyZSBiYXNlZC4gPC9wPgogIDwvbGk+CiAgPGxpPlRvIHZpZXcgYSBEZWxpdmVyeSBQcm9jZXNzLCBjbGljayA8c3Ryb25nPlByb2Nlc3NlcyAmZ3Q7IERlbGl2ZXJ5IFByb2Nlc3NlcyAmZ3Q7IENsYXNzaWMgUlVQIExpZmVjeWNsZTwvc3Ryb25nPi4gVGhlIGRpc3BsYXkgZm9yIGEgRGVsaXZlcnkgUHJvY2VzcyBpcyBzaW1pbGFyIHRvIGEgQ2FwYWJpbGl0eSBQYXR0ZXJuLiA8L2xpPgo8L29sPgo8cD4mbmJzcDs8L3A+CjxoMT4mbmJzcDs8L2gxPgo8L2JvZHk+CjwvaHRtbD4K