LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICogQ29weXJpZ2h0IChjKSAyMDAzLCAyMDA0IElCTSBDb3Jwb3JhdGlvbiBhbmQgb3RoZXJzLgogKiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCiAqIGFyZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIENvbW1vbiBQdWJsaWMgTGljZW5zZSB2MS4wCiAqIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0CiAqIGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvY3BsLXYxMC5odG1sCqAqCiAqIENvbnRyaWJ1dG9yczoKICogICAgSUJNIC0gSW5pdGlhbCBBUEkgYW5kIGltcGxlbWVudGF0aW9uCiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwpwYWNrYWdlIG9yZy5lY2xpcHNlLmpzdC5zZXJ2ZXIudG9tY2F0LmNvcmUuaW50ZXJuYWw7CgppbXBvcnQgb3JnLmVjbGlwc2UuanN0LnNlcnZlci50b21jYXQuY29yZS5JTWltZU1hcHBpbmc7Ci8qKgogKiBBIG1pbWUgbWFwcGluZy4KICovCnB1YmxpYyBjbGFzcyBNaW1lTWFwcGluZyBpbXBsZW1lbnRzIElNaW1lTWFwcGluZyB7Cglwcml2YXRlIFN0cmluZyBleHRlbnNpb247Cglwcml2YXRlIFN0cmluZyBtaW1lVHlwZTsKCgkvKioKCSAqIE1pbWVNYXBwaW5nIGNvbnN0cnVjdG9yIGNvbW1lbnQuCgkgKi8KCXB1YmxpYyBNaW1lTWFwcGluZyhTdHJpbmcgZXh0ZW5zaW9uLCBTdHJpbmcgbWltZVR5cGUpIHsKCQlzdXBlcigpOwoJCXRoaXMuZXh0ZW5zaW9uID0gZXh0ZW5zaW9uOwoJCXRoaXMubWltZVR5cGUgPSBtaW1lVHlwZTsKCX0KCgkvKioKCSAqIFJldHVybnMgdGhlIGV4dGVuc2lvbi4KCSAqIEByZXR1cm4gamF2YS5sYW5nLlN0cmluZwoJICovCglwdWJsaWMgU3RyaW5nIGdldEV4dGVuc2lvbigpIHsKCQlyZXR1cm4gZXh0ZW5zaW9uOwoJfQoKCS8qKgoJICogUmV0dXJucyB0aGUgbWltZSB0eXBlLgoJICogQHJldHVybiBqYXZhLmxhbmcuU3RyaW5nCgkgKi8KCXB1YmxpYyBTdHJpbmcgZ2V0TWltZVR5cGUoKSB7CgkJcmV0dXJuIG1pbWVUeXBlOwoJfQp9