
------=_Part_1140024_507025422.1377115645544 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Hi Roy, On a fresh clone of ovirt-engine master, I'm experiencing a very strange test failure in RunVmCommandTest. I believe it's race-condition based. It's related to the osRepository variable that you added to RunVmCommand in ba8ada49. Sometimes it's just null in the 16 of the 17 RunVmCommandTest tests, causing an NPE at RunVmCommand:680. Surefire report attached. I can duplicate it pretty well on my home workstation running a command-line build (which is a little slower than my T520). I can't duplicate it on the T520 running a command-line build. I can duplicate it on the T520 if I run the tests inside Eclipse (right click on a test method, Run As > JUnit test, wait 30 seconds, fail). If there is a race condition, maybe it's related to setting osRepository in the initializer. That's just a guess. Can you assist? Thanks, Greg Greg Sheremeta Red Hat, Inc. Sr. Software Engineer, RHEV Cell: 919-807-1086 gshereme@redhat.com ------=_Part_1140024_507025422.1377115645544 Content-Type: text/plain; name=org.ovirt.engine.core.bll.RunVmCommandTest.txt Content-Disposition: attachment; filename=org.ovirt.engine.core.bll.RunVmCommandTest.txt Content-Transfer-Encoding: base64 LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpUZXN0IHNldDogb3JnLm92aXJ0LmVuZ2luZS5jb3JlLmJs bC5SdW5WbUNvbW1hbmRUZXN0Ci0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KVGVzdHMgcnVuOiAxNywg RmFpbHVyZXM6IDAsIEVycm9yczogMTYsIFNraXBwZWQ6IDAsIFRpbWUgZWxhcHNlZDogMC4xNDkg c2VjIDw8PCBGQUlMVVJFIQp2YWxpZGF0ZVNpbXBsZUluaXRyZEFuZEtlcm5lbE5hbWUob3JnLm92 aXJ0LmVuZ2luZS5jb3JlLmJsbC5SdW5WbUNvbW1hbmRUZXN0KSAgVGltZSBlbGFwc2VkOiAwLjA1 OSBzZWMgIDw8PCBFUlJPUiEKamF2YS5sYW5nLk51bGxQb2ludGVyRXhjZXB0aW9uCglhdCBvcmcu b3ZpcnQuZW5naW5lLmNvcmUuYmxsLlJ1blZtQ29tbWFuZC5ndWVzdFRvb2xzVmVyc2lvblRyZWF0 bWVudChSdW5WbUNvbW1hbmQuamF2YTo2ODApCglhdCBvcmcub3ZpcnQuZW5naW5lLmNvcmUuYmxs LlJ1blZtQ29tbWFuZC5jaG9vc2VDZChSdW5WbUNvbW1hbmQuamF2YTozMjcpCglhdCBvcmcub3Zp cnQuZW5naW5lLmNvcmUuYmxsLlJ1blZtQ29tbWFuZC5jcmVhdGVWbShSdW5WbUNvbW1hbmQuamF2 YTo0NTEpCglhdCBvcmcub3ZpcnQuZW5naW5lLmNvcmUuYmxsLlJ1blZtQ29tbWFuZFRlc3QuY3Jl YXRlVm1Gb3JUZXN0aW5nKFJ1blZtQ29tbWFuZFRlc3QuamF2YToyNzkpCglhdCBvcmcub3ZpcnQu ZW5naW5lLmNvcmUuYmxsLlJ1blZtQ29tbWFuZFRlc3QudmFsaWRhdGVTaW1wbGVJbml0cmRBbmRL ZXJuZWxOYW1lKFJ1blZtQ29tbWFuZFRlc3QuamF2YToxNDIpCglhdCBzdW4ucmVmbGVjdC5OYXRp dmVNZXRob2RBY2Nlc3NvckltcGwuaW52b2tlMChOYXRpdmUgTWV0aG9kKQoJYXQgc3VuLnJlZmxl Y3QuTmF0aXZlTWV0aG9kQWNjZXNzb3JJbXBsLmludm9rZShOYXRpdmVNZXRob2RBY2Nlc3Nvcklt cGwuamF2YTo1NykKCWF0IHN1bi5yZWZsZWN0LkRlbGVnYXRpbmdNZXRob2RBY2Nlc3NvckltcGwu aW52b2tlKERlbGVnYXRpbmdNZXRob2RBY2Nlc3NvckltcGwuamF2YTo0MykKCWF0IGphdmEubGFu Zy5yZWZsZWN0Lk1ldGhvZC5pbnZva2UoTWV0aG9kLmphdmE6NjA2KQoJYXQgb3JnLmp1bml0LnJ1 bm5lcnMubW9kZWwuRnJhbWV3b3JrTWV0aG9kJDEucnVuUmVmbGVjdGl2ZUNhbGwoRnJhbWV3b3Jr TWV0aG9kLmphdmE6NDUpCglhdCBvcmcuanVuaXQuaW50ZXJuYWwucnVubmVycy5tb2RlbC5SZWZs ZWN0aXZlQ2FsbGFibGUucnVuKFJlZmxlY3RpdmVDYWxsYWJsZS5qYXZhOjE1KQoJYXQgb3JnLmp1 bml0LnJ1bm5lcnMubW9kZWwuRnJhbWV3b3JrTWV0aG9kLmludm9rZUV4cGxvc2l2ZWx5KEZyYW1l d29ya01ldGhvZC5qYXZhOjQyKQoJYXQgb3JnLmp1bml0LmludGVybmFsLnJ1bm5lcnMuc3RhdGVt ZW50cy5JbnZva2VNZXRob2QuZXZhbHVhdGUoSW52b2tlTWV0aG9kLmphdmE6MjApCglhdCBvcmcu anVuaXQuaW50ZXJuYWwucnVubmVycy5zdGF0ZW1lbnRzLlJ1bkJlZm9yZXMuZXZhbHVhdGUoUnVu QmVmb3Jlcy5qYXZhOjI4KQoJYXQgb3JnLmp1bml0LnJ1bm5lcnMuUGFyZW50UnVubmVyLnJ1bkxl YWYoUGFyZW50UnVubmVyLmphdmE6MjYzKQoJYXQgb3JnLmp1bml0LnJ1bm5lcnMuQmxvY2tKVW5p dDRDbGFzc1J1bm5lci5ydW5DaGlsZChCbG9ja0pVbml0NENsYXNzUnVubmVyLmphdmE6NjgpCglh dCBvcmcuanVuaXQucnVubmVycy5CbG9ja0pVbml0NENsYXNzUnVubmVyLnJ1bkNoaWxkKEJsb2Nr SlVuaXQ0Q2xhc3NSdW5uZXIuamF2YTo0NykKCWF0IG9yZy5qdW5pdC5ydW5uZXJzLlBhcmVudFJ1 bm5lciQzLnJ1bihQYXJlbnRSdW5uZXIuamF2YToyMzEpCglhdCBvcmcuanVuaXQucnVubmVycy5Q YXJlbnRSdW5uZXIkMS5zY2hlZHVsZShQYXJlbnRSdW5uZXIuamF2YTo2MCkKCWF0IG9yZy5qdW5p dC5ydW5uZXJzLlBhcmVudFJ1bm5lci5ydW5DaGlsZHJlbihQYXJlbnRSdW5uZXIuamF2YToyMjkp CglhdCBvcmcuanVuaXQucnVubmVycy5QYXJlbnRSdW5uZXIuYWNjZXNzJDAwMChQYXJlbnRSdW5u ZXIuamF2YTo1MCkKCWF0IG9yZy5qdW5pdC5ydW5uZXJzLlBhcmVudFJ1bm5lciQyLmV2YWx1YXRl KFBhcmVudFJ1bm5lci5qYXZhOjIyMikKCWF0IG9yZy5qdW5pdC5ydWxlcy5UZXN0V2F0Y2hlciQx LmV2YWx1YXRlKFRlc3RXYXRjaGVyLmphdmE6NDcpCglhdCBvcmcuanVuaXQucnVsZXMuUnVuUnVs ZXMuZXZhbHVhdGUoUnVuUnVsZXMuamF2YToxOCkKCWF0IG9yZy5qdW5pdC5ydW5uZXJzLlBhcmVu dFJ1bm5lci5ydW4oUGFyZW50UnVubmVyLmphdmE6MzAwKQoJYXQgb3JnLm1vY2tpdG8uaW50ZXJu YWwucnVubmVycy5KVW5pdDQ1QW5kSGlnaGVyUnVubmVySW1wbC5ydW4oSlVuaXQ0NUFuZEhpZ2hl clJ1bm5lckltcGwuamF2YTozNykKCWF0IG9yZy5tb2NraXRvLnJ1bm5lcnMuTW9ja2l0b0pVbml0 UnVubmVyLnJ1bihNb2NraXRvSlVuaXRSdW5uZXIuamF2YTo2MikKCWF0IG9yZy5hcGFjaGUubWF2 ZW4uc3VyZWZpcmUuanVuaXQ0LkpVbml0NFRlc3RTZXQuZXhlY3V0ZShKVW5pdDRUZXN0U2V0Lmph dmE6MzUpCglhdCBvcmcuYXBhY2hlLm1hdmVuLnN1cmVmaXJlLmp1bml0NC5KVW5pdDRQcm92aWRl ci5leGVjdXRlVGVzdFNldChKVW5pdDRQcm92aWRlci5qYXZhOjExNSkKCWF0IG9yZy5hcGFjaGUu bWF2ZW4uc3VyZWZpcmUuanVuaXQ0LkpVbml0NFByb3ZpZGVyLmludm9rZShKVW5pdDRQcm92aWRl ci5qYXZhOjk3KQoJYXQgc3VuLnJlZmxlY3QuTmF0aXZlTWV0aG9kQWNjZXNzb3JJbXBsLmludm9r ZTAoTmF0aXZlIE1ldGhvZCkKCWF0IHN1bi5yZWZsZWN0Lk5hdGl2ZU1ldGhvZEFjY2Vzc29ySW1w bC5pbnZva2UoTmF0aXZlTWV0aG9kQWNjZXNzb3JJbXBsLmphdmE6NTcpCglhdCBzdW4ucmVmbGVj dC5EZWxlZ2F0aW5nTWV0aG9kQWNjZXNzb3JJbXBsLmludm9rZShEZWxlZ2F0aW5nTWV0aG9kQWNj ZXNzb3JJbXBsLmphdmE6NDMpCglhdCBqYXZhLmxhbmcucmVmbGVjdC5NZXRob2QuaW52b2tlKE1l dGhvZC5qYXZhOjYwNikKCWF0IG9yZy5hcGFjaGUubWF2ZW4uc3VyZWZpcmUuYm9vdGVyLlByb3Zp ZGVyRmFjdG9yeSRDbGFzc0xvYWRlclByb3h5Lmludm9rZShQcm92aWRlckZhY3RvcnkuamF2YTox MDMpCglhdCBjb20uc3VuLnByb3h5LiRQcm94eTAuaW52b2tlKFVua25vd24gU291cmNlKQoJYXQg b3JnLmFwYWNoZS5tYXZlbi5zdXJlZmlyZS5ib290ZXIuU3VyZWZpcmVTdGFydGVyLmludm9rZVBy b3ZpZGVyKFN1cmVmaXJlU3RhcnRlci5qYXZhOjE1MCkKCWF0IG9yZy5hcGFjaGUubWF2ZW4uc3Vy ZWZpcmUuYm9vdGVyLlN1cmVmaXJlU3RhcnRlci5ydW5TdWl0ZXNJblByb2Nlc3MoU3VyZWZpcmVT dGFydGVyLmphdmE6OTEpCglhdCBvcmcuYXBhY2hlLm1hdmVuLnN1cmVmaXJlLmJvb3Rlci5Gb3Jr ZWRCb290ZXIubWFpbihGb3JrZWRCb290ZXIuamF2YTo2OSkKCnZhbGlkYXRlSXNvUHJlZml4KG9y Zy5vdmlydC5lbmdpbmUuY29yZS5ibGwuUnVuVm1Db21tYW5kVGVzdCkgIFRpbWUgZWxhcHNlZDog MC4wMDMgc2VjICA8PDwgRVJST1IhCmphdmEubGFuZy5OdWxsUG9pbnRlckV4Y2VwdGlvbgoJYXQg b3JnLm92aXJ0LmVuZ2luZS5jb3JlLmJsbC5SdW5WbUNvbW1hbmQuZ3Vlc3RUb29sc1ZlcnNpb25U cmVhdG1lbnQoUnVuVm1Db21tYW5kLmphdmE6NjgwKQoJYXQgb3JnLm92aXJ0LmVuZ2luZS5jb3Jl LmJsbC5SdW5WbUNvbW1hbmQuY2hvb3NlQ2QoUnVuVm1Db21tYW5kLmphdmE6MzI3KQoJYXQgb3Jn Lm92aXJ0LmVuZ2luZS5jb3JlLmJsbC5SdW5WbUNvbW1hbmQuY3JlYXRlVm0oUnVuVm1Db21tYW5k LmphdmE6NDUxKQoJYXQgb3JnLm92aXJ0LmVuZ2luZS5jb3JlLmJsbC5SdW5WbUNvbW1hbmRUZXN0 LmNyZWF0ZVZtRm9yVGVzdGluZyhSdW5WbUNvbW1hbmRUZXN0LmphdmE6Mjc5KQoJYXQgb3JnLm92 aXJ0LmVuZ2luZS5jb3JlLmJsbC5SdW5WbUNvbW1hbmRUZXN0LnZhbGlkYXRlSXNvUHJlZml4KFJ1 blZtQ29tbWFuZFRlc3QuamF2YToxNTEpCglhdCBzdW4ucmVmbGVjdC5OYXRpdmVNZXRob2RBY2Nl c3NvckltcGwuaW52b2tlMChOYXRpdmUgTWV0aG9kKQoJYXQgc3VuLnJlZmxlY3QuTmF0aXZlTWV0 aG9kQWNjZXNzb3JJbXBsLmludm9rZShOYXRpdmVNZXRob2RBY2Nlc3NvckltcGwuamF2YTo1NykK CWF0IHN1bi5yZWZsZWN0LkRlbGVnYXRpbmdNZXRob2RBY2Nlc3NvckltcGwuaW52b2tlKERlbGVn YXRpbmdNZXRob2RBY2Nlc3NvckltcGwuamF2YTo0MykKCWF0IGphdmEubGFuZy5yZWZsZWN0Lk1l dGhvZC5pbnZva2UoTWV0aG9kLmphdmE6NjA2KQoJYXQgb3JnLmp1bml0LnJ1bm5lcnMubW9kZWwu RnJhbWV3b3JrTWV0aG9kJDEucnVuUmVmbGVjdGl2ZUNhbGwoRnJhbWV3b3JrTWV0aG9kLmphdmE6 NDUpCglhdCBvcmcuanVuaXQuaW50ZXJuYWwucnVubmVycy5tb2RlbC5SZWZsZWN0aXZlQ2FsbGFi bGUucnVuKFJlZmxlY3RpdmVDYWxsYWJsZS5qYXZhOjE1KQoJYXQgb3JnLmp1bml0LnJ1bm5lcnMu bW9kZWwuRnJhbWV3b3JrTWV0aG9kLmludm9rZUV4cGxvc2l2ZWx5KEZyYW1ld29ya01ldGhvZC5q YXZhOjQyKQoJYXQgb3JnLmp1bml0LmludGVybmFsLnJ1bm5lcnMuc3RhdGVtZW50cy5JbnZva2VN ZXRob2QuZXZhbHVhdGUoSW52b2tlTWV0aG9kLmphdmE6MjApCglhdCBvcmcuanVuaXQuaW50ZXJu YWwucnVubmVycy5zdGF0ZW1lbnRzLlJ1bkJlZm9yZXMuZXZhbHVhdGUoUnVuQmVmb3Jlcy5qYXZh OjI4KQoJYXQgb3JnLmp1bml0LnJ1bm5lcnMuUGFyZW50UnVubmVyLnJ1bkxlYWYoUGFyZW50UnVu bmVyLmphdmE6MjYzKQoJYXQgb3JnLmp1bml0LnJ1bm5lcnMuQmxvY2tKVW5pdDRDbGFzc1J1bm5l ci5ydW5DaGlsZChCbG9ja0pVbml0NENsYXNzUnVubmVyLmphdmE6NjgpCglhdCBvcmcuanVuaXQu cnVubmVycy5CbG9ja0pVbml0NENsYXNzUnVubmVyLnJ1bkNoaWxkKEJsb2NrSlVuaXQ0Q2xhc3NS dW5uZXIuamF2YTo0NykKCWF0IG9yZy5qdW5pdC5ydW5uZXJzLlBhcmVudFJ1bm5lciQzLnJ1bihQ YXJlbnRSdW5uZXIuamF2YToyMzEpCglhdCBvcmcuanVuaXQucnVubmVycy5QYXJlbnRSdW5uZXIk MS5zY2hlZHVsZShQYXJlbnRSdW5uZXIuamF2YTo2MCkKCWF0IG9yZy5qdW5pdC5ydW5uZXJzLlBh cmVudFJ1bm5lci5ydW5DaGlsZHJlbihQYXJlbnRSdW5uZXIuamF2YToyMjkpCglhdCBvcmcuanVu aXQucnVubmVycy5QYXJlbnRSdW5uZXIuYWNjZXNzJDAwMChQYXJlbnRSdW5uZXIuamF2YTo1MCkK CWF0IG9yZy5qdW5pdC5ydW5uZXJzLlBhcmVudFJ1bm5lciQyLmV2YWx1YXRlKFBhcmVudFJ1bm5l ci5qYXZhOjIyMikKCWF0IG9yZy5qdW5pdC5ydWxlcy5UZXN0V2F0Y2hlciQxLmV2YWx1YXRlKFRl c3RXYXRjaGVyLmphdmE6NDcpCglhdCBvcmcuanVuaXQucnVsZXMuUnVuUnVsZXMuZXZhbHVhdGUo UnVuUnVsZXMuamF2YToxOCkKCWF0IG9yZy5qdW5pdC5ydW5uZXJzLlBhcmVudFJ1bm5lci5ydW4o UGFyZW50UnVubmVyLmphdmE6MzAwKQoJYXQgb3JnLm1vY2tpdG8uaW50ZXJuYWwucnVubmVycy5K VW5pdDQ1QW5kSGlnaGVyUnVubmVySW1wbC5ydW4oSlVuaXQ0NUFuZEhpZ2hlclJ1bm5lckltcGwu amF2YTozNykKCWF0IG9yZy5tb2NraXRvLnJ1bm5lcnMuTW9ja2l0b0pVbml0UnVubmVyLnJ1bihN b2NraXRvSlVuaXRSdW5uZXIuamF2YTo2MikKCWF0IG9yZy5hcGFjaGUubWF2ZW4uc3VyZWZpcmUu anVuaXQ0LkpVbml0NFRlc3RTZXQuZXhlY3V0ZShKVW5pdDRUZXN0U2V0LmphdmE6MzUpCglhdCBv cmcuYXBhY2hlLm1hdmVuLnN1cmVmaXJlLmp1bml0NC5KVW5pdDRQcm92aWRlci5leGVjdXRlVGVz dFNldChKVW5pdDRQcm92aWRlci5qYXZhOjExNSkKCWF0IG9yZy5hcGFjaGUubWF2ZW4uc3VyZWZp cmUuanVuaXQ0LkpVbml0NFByb3ZpZGVyLmludm9rZShKVW5pdDRQcm92aWRlci5qYXZhOjk3KQoJ YXQgc3VuLnJlZmxlY3QuTmF0aXZlTWV0aG9kQWNjZXNzb3JJbXBsLmludm9rZTAoTmF0aXZlIE1l dGhvZCkKCWF0IHN1bi5yZWZsZWN0Lk5hdGl2ZU1ldGhvZEFjY2Vzc29ySW1wbC5pbnZva2UoTmF0 aXZlTWV0aG9kQWNjZXNzb3JJbXBsLmphdmE6NTcpCglhdCBzdW4ucmVmbGVjdC5EZWxlZ2F0aW5n TWV0aG9kQWNjZXNzb3JJbXBsLmludm9rZShEZWxlZ2F0aW5nTWV0aG9kQWNjZXNzb3JJbXBsLmph dmE6NDMpCglhdCBqYXZhLmxhbmcucmVmbGVjdC5NZXRob2QuaW52b2tlKE1ldGhvZC5qYXZhOjYw NikKCWF0IG9yZy5hcGFjaGUubWF2ZW4uc3VyZWZpcmUuYm9vdGVyLlByb3ZpZGVyRmFjdG9yeSRD bGFzc0xvYWRlclByb3h5Lmludm9rZShQcm92aWRlckZhY3RvcnkuamF2YToxMDMpCglhdCBjb20u c3VuLnByb3h5LiRQcm94eTAuaW52b2tlKFVua25vd24gU291cmNlKQoJYXQgb3JnLmFwYWNoZS5t YXZlbi5zdXJlZmlyZS5ib290ZXIuU3VyZWZpcmVTdGFydGVyLmludm9rZVByb3ZpZGVyKFN1cmVm aXJlU3RhcnRlci5qYXZhOjE1MCkKCWF0IG9yZy5hcGFjaGUubWF2ZW4uc3VyZWZpcmUuYm9vdGVy LlN1cmVmaXJlU3RhcnRlci5ydW5TdWl0ZXNJblByb2Nlc3MoU3VyZWZpcmVTdGFydGVyLmphdmE6 OTEpCglhdCBvcmcuYXBhY2hlLm1hdmVuLnN1cmVmaXJlLmJvb3Rlci5Gb3JrZWRCb290ZXIubWFp bihGb3JrZWRCb290ZXIuamF2YTo2OSkKCnZhbGlkYXRlSXNvUHJlZml4Rm9yS2VybmVsQW5kTm9Q cmVmaXhGb3JJbml0cmQob3JnLm92aXJ0LmVuZ2luZS5jb3JlLmJsbC5SdW5WbUNvbW1hbmRUZXN0 KSAgVGltZSBlbGFwc2VkOiAwLjAwNCBzZWMgIDw8PCBFUlJPUiEKamF2YS5sYW5nLk51bGxQb2lu dGVyRXhjZXB0aW9uCglhdCBvcmcub3ZpcnQuZW5naW5lLmNvcmUuYmxsLlJ1blZtQ29tbWFuZC5n dWVzdFRvb2xzVmVyc2lvblRyZWF0bWVudChSdW5WbUNvbW1hbmQuamF2YTo2ODApCglhdCBvcmcu b3ZpcnQuZW5naW5lLmNvcmUuYmxsLlJ1blZtQ29tbWFuZC5jaG9vc2VDZChSdW5WbUNvbW1hbmQu amF2YTozMjcpCglhdCBvcmcub3ZpcnQuZW5naW5lLmNvcmUuYmxsLlJ1blZtQ29tbWFuZC5jcmVh dGVWbShSdW5WbUNvbW1hbmQuamF2YTo0NTEpCglhdCBvcmcub3ZpcnQuZW5naW5lLmNvcmUuYmxs LlJ1blZtQ29tbWFuZFRlc3QuY3JlYXRlVm1Gb3JUZXN0aW5nKFJ1blZtQ29tbWFuZFRlc3QuamF2 YToyNzkpCglhdCBvcmcub3ZpcnQuZW5naW5lLmNvcmUuYmxsLlJ1blZtQ29tbWFuZFRlc3QudmFs aWRhdGVJc29QcmVmaXhGb3JLZXJuZWxBbmROb1ByZWZpeEZvckluaXRyZChSdW5WbUNvbW1hbmRU ZXN0LmphdmE6MTYwKQoJYXQgc3VuLnJlZmxlY3QuTmF0aXZlTWV0aG9kQWNjZXNzb3JJbXBsLmlu dm9rZTAoTmF0aXZlIE1ldGhvZCkKCWF0IHN1bi5yZWZsZWN0Lk5hdGl2ZU1ldGhvZEFjY2Vzc29y SW1wbC5pbnZva2UoTmF0aXZlTWV0aG9kQWNjZXNzb3JJbXBsLmphdmE6NTcpCglhdCBzdW4ucmVm bGVjdC5EZWxlZ2F0aW5nTWV0aG9kQWNjZXNzb3JJbXBsLmludm9rZShEZWxlZ2F0aW5nTWV0aG9k QWNjZXNzb3JJbXBsLmphdmE6NDMpCglhdCBqYXZhLmxhbmcucmVmbGVjdC5NZXRob2QuaW52b2tl KE1ldGhvZC5qYXZhOjYwNikKCWF0IG9yZy5qdW5pdC5ydW5uZXJzLm1vZGVsLkZyYW1ld29ya01l dGhvZCQxLnJ1blJlZmxlY3RpdmVDYWxsKEZyYW1ld29ya01ldGhvZC5qYXZhOjQ1KQoJYXQgb3Jn Lmp1bml0LmludGVybmFsLnJ1bm5lcnMubW9kZWwuUmVmbGVjdGl2ZUNhbGxhYmxlLnJ1bihSZWZs ZWN0aXZlQ2FsbGFibGUuamF2YToxNSkKCWF0IG9yZy5qdW5pdC5ydW5uZXJzLm1vZGVsLkZyYW1l d29ya01ldGhvZC5pbnZva2VFeHBsb3NpdmVseShGcmFtZXdvcmtNZXRob2QuamF2YTo0MikKCWF0 IG9yZy5qdW5pdC5pbnRlcm5hbC5ydW5uZXJzLnN0YXRlbWVudHMuSW52b2tlTWV0aG9kLmV2YWx1 YXRlKEludm9rZU1ldGhvZC5qYXZhOjIwKQoJYXQgb3JnLmp1bml0LmludGVybmFsLnJ1bm5lcnMu c3RhdGVtZW50cy5SdW5CZWZvcmVzLmV2YWx1YXRlKFJ1bkJlZm9yZXMuamF2YToyOCkKCWF0IG9y Zy5qdW5pdC5ydW5uZXJzLlBhcmVudFJ1bm5lci5ydW5MZWFmKFBhcmVudFJ1bm5lci5qYXZhOjI2 MykKCWF0IG9yZy5qdW5pdC5ydW5uZXJzLkJsb2NrSlVuaXQ0Q2xhc3NSdW5uZXIucnVuQ2hpbGQo QmxvY2tKVW5pdDRDbGFzc1J1bm5lci5qYXZhOjY4KQoJYXQgb3JnLmp1bml0LnJ1bm5lcnMuQmxv Y2tKVW5pdDRDbGFzc1J1bm5lci5ydW5DaGlsZChCbG9ja0pVbml0NENsYXNzUnVubmVyLmphdmE6 NDcpCglhdCBvcmcuanVuaXQucnVubmVycy5QYXJlbnRSdW5uZXIkMy5ydW4oUGFyZW50UnVubmVy LmphdmE6MjMxKQoJYXQgb3JnLmp1bml0LnJ1bm5lcnMuUGFyZW50UnVubmVyJDEuc2NoZWR1bGUo UGFyZW50UnVubmVyLmphdmE6NjApCglhdCBvcmcuanVuaXQucnVubmVycy5QYXJlbnRSdW5uZXIu cnVuQ2hpbGRyZW4oUGFyZW50UnVubmVyLmphdmE6MjI5KQoJYXQgb3JnLmp1bml0LnJ1bm5lcnMu UGFyZW50UnVubmVyLmFjY2VzcyQwMDAoUGFyZW50UnVubmVyLmphdmE6NTApCglhdCBvcmcuanVu aXQucnVubmVycy5QYXJlbnRSdW5uZXIkMi5ldmFsdWF0ZShQYXJlbnRSdW5uZXIuamF2YToyMjIp CglhdCBvcmcuanVuaXQucnVsZXMuVGVzdFdhdGNoZXIkMS5ldmFsdWF0ZShUZXN0V2F0Y2hlci5q YXZhOjQ3KQoJYXQgb3JnLmp1bml0LnJ1bGVzLlJ1blJ1bGVzLmV2YWx1YXRlKFJ1blJ1bGVzLmph dmE6MTgpCglhdCBvcmcuanVuaXQucnVubmVycy5QYXJlbnRSdW5uZXIucnVuKFBhcmVudFJ1bm5l ci5qYXZhOjMwMCkKCWF0IG9yZy5tb2NraXRvLmludGVybmFsLnJ1bm5lcnMuSlVuaXQ0NUFuZEhp Z2hlclJ1bm5lckltcGwucnVuKEpVbml0NDVBbmRIaWdoZXJSdW5uZXJJbXBsLmphdmE6MzcpCglh dCBvcmcubW9ja2l0by5ydW5uZXJzLk1vY2tpdG9KVW5pdFJ1bm5lci5ydW4oTW9ja2l0b0pVbml0 UnVubmVyLmphdmE6NjIpCglhdCBvcmcuYXBhY2hlLm1hdmVuLnN1cmVmaXJlLmp1bml0NC5KVW5p dDRUZXN0U2V0LmV4ZWN1dGUoSlVuaXQ0VGVzdFNldC5qYXZhOjM1KQoJYXQgb3JnLmFwYWNoZS5t YXZlbi5zdXJlZmlyZS5qdW5pdDQuSlVuaXQ0UHJvdmlkZXIuZXhlY3V0ZVRlc3RTZXQoSlVuaXQ0 UHJvdmlkZXIuamF2YToxMTUpCglhdCBvcmcuYXBhY2hlLm1hdmVuLnN1cmVmaXJlLmp1bml0NC5K VW5pdDRQcm92aWRlci5pbnZva2UoSlVuaXQ0UHJvdmlkZXIuamF2YTo5NykKCWF0IHN1bi5yZWZs ZWN0Lk5hdGl2ZU1ldGhvZEFjY2Vzc29ySW1wbC5pbnZva2UwKE5hdGl2ZSBNZXRob2QpCglhdCBz dW4ucmVmbGVjdC5OYXRpdmVNZXRob2RBY2Nlc3NvckltcGwuaW52b2tlKE5hdGl2ZU1ldGhvZEFj Y2Vzc29ySW1wbC5qYXZhOjU3KQoJYXQgc3VuLnJlZmxlY3QuRGVsZWdhdGluZ01ldGhvZEFjY2Vz c29ySW1wbC5pbnZva2UoRGVsZWdhdGluZ01ldGhvZEFjY2Vzc29ySW1wbC5qYXZhOjQzKQoJYXQg amF2YS5sYW5nLnJlZmxlY3QuTWV0aG9kLmludm9rZShNZXRob2QuamF2YTo2MDYpCglhdCBvcmcu YXBhY2hlLm1hdmVuLnN1cmVmaXJlLmJvb3Rlci5Qcm92aWRlckZhY3RvcnkkQ2xhc3NMb2FkZXJQ cm94eS5pbnZva2UoUHJvdmlkZXJGYWN0b3J5LmphdmE6MTAzKQoJYXQgY29tLnN1bi5wcm94eS4k UHJveHkwLmludm9rZShVbmtub3duIFNvdXJjZSkKCWF0IG9yZy5hcGFjaGUubWF2ZW4uc3VyZWZp cmUuYm9vdGVyLlN1cmVmaXJlU3RhcnRlci5pbnZva2VQcm92aWRlcihTdXJlZmlyZVN0YXJ0ZXIu amF2YToxNTApCglhdCBvcmcuYXBhY2hlLm1hdmVuLnN1cmVmaXJlLmJvb3Rlci5TdXJlZmlyZVN0 YXJ0ZXIucnVuU3VpdGVzSW5Qcm9jZXNzKFN1cmVmaXJlU3RhcnRlci5qYXZhOjkxKQoJYXQgb3Jn LmFwYWNoZS5tYXZlbi5zdXJlZmlyZS5ib290ZXIuRm9ya2VkQm9vdGVyLm1haW4oRm9ya2VkQm9v dGVyLmphdmE6NjkpCgp2YWxpZGF0ZUlzb1ByZWZpeEZvckluaXRyZEFuZE5vUHJlZml4Rm9yS2Vy bmVsKG9yZy5vdmlydC5lbmdpbmUuY29yZS5ibGwuUnVuVm1Db21tYW5kVGVzdCkgIFRpbWUgZWxh cHNlZDogMC4wMDMgc2VjICA8PDwgRVJST1IhCmphdmEubGFuZy5OdWxsUG9pbnRlckV4Y2VwdGlv bgoJYXQgb3JnLm92aXJ0LmVuZ2luZS5jb3JlLmJsbC5SdW5WbUNvbW1hbmQuZ3Vlc3RUb29sc1Zl cnNpb25UcmVhdG1lbnQoUnVuVm1Db21tYW5kLmphdmE6NjgwKQoJYXQgb3JnLm92aXJ0LmVuZ2lu ZS5jb3JlLmJsbC5SdW5WbUNvbW1hbmQuY2hvb3NlQ2QoUnVuVm1Db21tYW5kLmphdmE6MzI3KQoJ YXQgb3JnLm92aXJ0LmVuZ2luZS5jb3JlLmJsbC5SdW5WbUNvbW1hbmQuY3JlYXRlVm0oUnVuVm1D b21tYW5kLmphdmE6NDUxKQoJYXQgb3JnLm92aXJ0LmVuZ2luZS5jb3JlLmJsbC5SdW5WbUNvbW1h bmRUZXN0LmNyZWF0ZVZtRm9yVGVzdGluZyhSdW5WbUNvbW1hbmRUZXN0LmphdmE6Mjc5KQoJYXQg b3JnLm92aXJ0LmVuZ2luZS5jb3JlLmJsbC5SdW5WbUNvbW1hbmRUZXN0LnZhbGlkYXRlSXNvUHJl Zml4Rm9ySW5pdHJkQW5kTm9QcmVmaXhGb3JLZXJuZWwoUnVuVm1Db21tYW5kVGVzdC5qYXZhOjE2 OSkKCWF0IHN1bi5yZWZsZWN0Lk5hdGl2ZU1ldGhvZEFjY2Vzc29ySW1wbC5pbnZva2UwKE5hdGl2 ZSBNZXRob2QpCglhdCBzdW4ucmVmbGVjdC5OYXRpdmVNZXRob2RBY2Nlc3NvckltcGwuaW52b2tl KE5hdGl2ZU1ldGhvZEFjY2Vzc29ySW1wbC5qYXZhOjU3KQoJYXQgc3VuLnJlZmxlY3QuRGVsZWdh dGluZ01ldGhvZEFjY2Vzc29ySW1wbC5pbnZva2UoRGVsZWdhdGluZ01ldGhvZEFjY2Vzc29ySW1w bC5qYXZhOjQzKQoJYXQgamF2YS5sYW5nLnJlZmxlY3QuTWV0aG9kLmludm9rZShNZXRob2QuamF2 YTo2MDYpCglhdCBvcmcuanVuaXQucnVubmVycy5tb2RlbC5GcmFtZXdvcmtNZXRob2QkMS5ydW5S ZWZsZWN0aXZlQ2FsbChGcmFtZXdvcmtNZXRob2QuamF2YTo0NSkKCWF0IG9yZy5qdW5pdC5pbnRl cm5hbC5ydW5uZXJzLm1vZGVsLlJlZmxlY3RpdmVDYWxsYWJsZS5ydW4oUmVmbGVjdGl2ZUNhbGxh YmxlLmphdmE6MTUpCglhdCBvcmcuanVuaXQucnVubmVycy5tb2RlbC5GcmFtZXdvcmtNZXRob2Qu aW52b2tlRXhwbG9zaXZlbHkoRnJhbWV3b3JrTWV0aG9kLmphdmE6NDIpCglhdCBvcmcuanVuaXQu aW50ZXJuYWwucnVubmVycy5zdGF0ZW1lbnRzLkludm9rZU1ldGhvZC5ldmFsdWF0ZShJbnZva2VN ZXRob2QuamF2YToyMCkKCWF0IG9yZy5qdW5pdC5pbnRlcm5hbC5ydW5uZXJzLnN0YXRlbWVudHMu UnVuQmVmb3Jlcy5ldmFsdWF0ZShSdW5CZWZvcmVzLmphdmE6MjgpCglhdCBvcmcuanVuaXQucnVu bmVycy5QYXJlbnRSdW5uZXIucnVuTGVhZihQYXJlbnRSdW5uZXIuamF2YToyNjMpCglhdCBvcmcu anVuaXQucnVubmVycy5CbG9ja0pVbml0NENsYXNzUnVubmVyLnJ1bkNoaWxkKEJsb2NrSlVuaXQ0 Q2xhc3NSdW5uZXIuamF2YTo2OCkKCWF0IG9yZy5qdW5pdC5ydW5uZXJzLkJsb2NrSlVuaXQ0Q2xh c3NSdW5uZXIucnVuQ2hpbGQoQmxvY2tKVW5pdDRDbGFzc1J1bm5lci5qYXZhOjQ3KQoJYXQgb3Jn Lmp1bml0LnJ1bm5lcnMuUGFyZW50UnVubmVyJDMucnVuKFBhcmVudFJ1bm5lci5qYXZhOjIzMSkK CWF0IG9yZy5qdW5pdC5ydW5uZXJzLlBhcmVudFJ1bm5lciQxLnNjaGVkdWxlKFBhcmVudFJ1bm5l ci5qYXZhOjYwKQoJYXQgb3JnLmp1bml0LnJ1bm5lcnMuUGFyZW50UnVubmVyLnJ1bkNoaWxkcmVu KFBhcmVudFJ1bm5lci5qYXZhOjIyOSkKCWF0IG9yZy5qdW5pdC5ydW5uZXJzLlBhcmVudFJ1bm5l ci5hY2Nlc3MkMDAwKFBhcmVudFJ1bm5lci5qYXZhOjUwKQoJYXQgb3JnLmp1bml0LnJ1bm5lcnMu UGFyZW50UnVubmVyJDIuZXZhbHVhdGUoUGFyZW50UnVubmVyLmphdmE6MjIyKQoJYXQgb3JnLmp1 bml0LnJ1bGVzLlRlc3RXYXRjaGVyJDEuZXZhbHVhdGUoVGVzdFdhdGNoZXIuamF2YTo0NykKCWF0 IG9yZy5qdW5pdC5ydWxlcy5SdW5SdWxlcy5ldmFsdWF0ZShSdW5SdWxlcy5qYXZhOjE4KQoJYXQg b3JnLmp1bml0LnJ1bm5lcnMuUGFyZW50UnVubmVyLnJ1bihQYXJlbnRSdW5uZXIuamF2YTozMDAp CglhdCBvcmcubW9ja2l0by5pbnRlcm5hbC5ydW5uZXJzLkpVbml0NDVBbmRIaWdoZXJSdW5uZXJJ bXBsLnJ1bihKVW5pdDQ1QW5kSGlnaGVyUnVubmVySW1wbC5qYXZhOjM3KQoJYXQgb3JnLm1vY2tp dG8ucnVubmVycy5Nb2NraXRvSlVuaXRSdW5uZXIucnVuKE1vY2tpdG9KVW5pdFJ1bm5lci5qYXZh OjYyKQoJYXQgb3JnLmFwYWNoZS5tYXZlbi5zdXJlZmlyZS5qdW5pdDQuSlVuaXQ0VGVzdFNldC5l eGVjdXRlKEpVbml0NFRlc3RTZXQuamF2YTozNSkKCWF0IG9yZy5hcGFjaGUubWF2ZW4uc3VyZWZp cmUuanVuaXQ0LkpVbml0NFByb3ZpZGVyLmV4ZWN1dGVUZXN0U2V0KEpVbml0NFByb3ZpZGVyLmph dmE6MTE1KQoJYXQgb3JnLmFwYWNoZS5tYXZlbi5zdXJlZmlyZS5qdW5pdDQuSlVuaXQ0UHJvdmlk ZXIuaW52b2tlKEpVbml0NFByb3ZpZGVyLmphdmE6OTcpCglhdCBzdW4ucmVmbGVjdC5OYXRpdmVN ZXRob2RBY2Nlc3NvckltcGwuaW52b2tlMChOYXRpdmUgTWV0aG9kKQoJYXQgc3VuLnJlZmxlY3Qu TmF0aXZlTWV0aG9kQWNjZXNzb3JJbXBsLmludm9rZShOYXRpdmVNZXRob2RBY2Nlc3NvckltcGwu amF2YTo1NykKCWF0IHN1bi5yZWZsZWN0LkRlbGVnYXRpbmdNZXRob2RBY2Nlc3NvckltcGwuaW52 b2tlKERlbGVnYXRpbmdNZXRob2RBY2Nlc3NvckltcGwuamF2YTo0MykKCWF0IGphdmEubGFuZy5y ZWZsZWN0Lk1ldGhvZC5pbnZva2UoTWV0aG9kLmphdmE6NjA2KQoJYXQgb3JnLmFwYWNoZS5tYXZl bi5zdXJlZmlyZS5ib290ZXIuUHJvdmlkZXJGYWN0b3J5JENsYXNzTG9hZGVyUHJveHkuaW52b2tl KFByb3ZpZGVyRmFjdG9yeS5qYXZhOjEwMykKCWF0IGNvbS5zdW4ucHJveHkuJFByb3h5MC5pbnZv a2UoVW5rbm93biBTb3VyY2UpCglhdCBvcmcuYXBhY2hlLm1hdmVuLnN1cmVmaXJlLmJvb3Rlci5T dXJlZmlyZVN0YXJ0ZXIuaW52b2tlUHJvdmlkZXIoU3VyZWZpcmVTdGFydGVyLmphdmE6MTUwKQoJ YXQgb3JnLmFwYWNoZS5tYXZlbi5zdXJlZmlyZS5ib290ZXIuU3VyZWZpcmVTdGFydGVyLnJ1blN1 aXRlc0luUHJvY2VzcyhTdXJlZmlyZVN0YXJ0ZXIuamF2YTo5MSkKCWF0IG9yZy5hcGFjaGUubWF2 ZW4uc3VyZWZpcmUuYm9vdGVyLkZvcmtlZEJvb3Rlci5tYWluKEZvcmtlZEJvb3Rlci5qYXZhOjY5 KQoKdmFsaWRhdGVJc29QcmVmaXhOYW1lRm9yS2VybmVsQW5kTnVsbEZvckluaXRyZChvcmcub3Zp cnQuZW5naW5lLmNvcmUuYmxsLlJ1blZtQ29tbWFuZFRlc3QpICBUaW1lIGVsYXBzZWQ6IDAuMDAz IHNlYyAgPDw8IEVSUk9SIQpqYXZhLmxhbmcuTnVsbFBvaW50ZXJFeGNlcHRpb24KCWF0IG9yZy5v dmlydC5lbmdpbmUuY29yZS5ibGwuUnVuVm1Db21tYW5kLmd1ZXN0VG9vbHNWZXJzaW9uVHJlYXRt ZW50KFJ1blZtQ29tbWFuZC5qYXZhOjY4MCkKCWF0IG9yZy5vdmlydC5lbmdpbmUuY29yZS5ibGwu UnVuVm1Db21tYW5kLmNob29zZUNkKFJ1blZtQ29tbWFuZC5qYXZhOjMyNykKCWF0IG9yZy5vdmly dC5lbmdpbmUuY29yZS5ibGwuUnVuVm1Db21tYW5kLmNyZWF0ZVZtKFJ1blZtQ29tbWFuZC5qYXZh OjQ1MSkKCWF0IG9yZy5vdmlydC5lbmdpbmUuY29yZS5ibGwuUnVuVm1Db21tYW5kVGVzdC5jcmVh dGVWbUZvclRlc3RpbmcoUnVuVm1Db21tYW5kVGVzdC5qYXZhOjI3OSkKCWF0IG9yZy5vdmlydC5l bmdpbmUuY29yZS5ibGwuUnVuVm1Db21tYW5kVGVzdC52YWxpZGF0ZUlzb1ByZWZpeE5hbWVGb3JL ZXJuZWxBbmROdWxsRm9ySW5pdHJkKFJ1blZtQ29tbWFuZFRlc3QuamF2YToxNzcpCglhdCBzdW4u cmVmbGVjdC5OYXRpdmVNZXRob2RBY2Nlc3NvckltcGwuaW52b2tlMChOYXRpdmUgTWV0aG9kKQoJ YXQgc3VuLnJlZmxlY3QuTmF0aXZlTWV0aG9kQWNjZXNzb3JJbXBsLmludm9rZShOYXRpdmVNZXRo b2RBY2Nlc3NvckltcGwuamF2YTo1NykKCWF0IHN1bi5yZWZsZWN0LkRlbGVnYXRpbmdNZXRob2RB Y2Nlc3NvckltcGwuaW52b2tlKERlbGVnYXRpbmdNZXRob2RBY2Nlc3NvckltcGwuamF2YTo0MykK CWF0IGphdmEubGFuZy5yZWZsZWN0Lk1ldGhvZC5pbnZva2UoTWV0aG9kLmphdmE6NjA2KQoJYXQg b3JnLmp1bml0LnJ1bm5lcnMubW9kZWwuRnJhbWV3b3JrTWV0aG9kJDEucnVuUmVmbGVjdGl2ZUNh bGwoRnJhbWV3b3JrTWV0aG9kLmphdmE6NDUpCglhdCBvcmcuanVuaXQuaW50ZXJuYWwucnVubmVy cy5tb2RlbC5SZWZsZWN0aXZlQ2FsbGFibGUucnVuKFJlZmxlY3RpdmVDYWxsYWJsZS5qYXZhOjE1 KQoJYXQgb3JnLmp1bml0LnJ1bm5lcnMubW9kZWwuRnJhbWV3b3JrTWV0aG9kLmludm9rZUV4cGxv c2l2ZWx5KEZyYW1ld29ya01ldGhvZC5qYXZhOjQyKQoJYXQgb3JnLmp1bml0LmludGVybmFsLnJ1 bm5lcnMuc3RhdGVtZW50cy5JbnZva2VNZXRob2QuZXZhbHVhdGUoSW52b2tlTWV0aG9kLmphdmE6 MjApCglhdCBvcmcuanVuaXQuaW50ZXJuYWwucnVubmVycy5zdGF0ZW1lbnRzLlJ1bkJlZm9yZXMu ZXZhbHVhdGUoUnVuQmVmb3Jlcy5qYXZhOjI4KQoJYXQgb3JnLmp1bml0LnJ1bm5lcnMuUGFyZW50 UnVubmVyLnJ1bkxlYWYoUGFyZW50UnVubmVyLmphdmE6MjYzKQoJYXQgb3JnLmp1bml0LnJ1bm5l cnMuQmxvY2tKVW5pdDRDbGFzc1J1bm5lci5ydW5DaGlsZChCbG9ja0pVbml0NENsYXNzUnVubmVy LmphdmE6NjgpCglhdCBvcmcuanVuaXQucnVubmVycy5CbG9ja0pVbml0NENsYXNzUnVubmVyLnJ1 bkNoaWxkKEJsb2NrSlVuaXQ0Q2xhc3NSdW5uZXIuamF2YTo0NykKCWF0IG9yZy5qdW5pdC5ydW5u ZXJzLlBhcmVudFJ1bm5lciQzLnJ1bihQYXJlbnRSdW5uZXIuamF2YToyMzEpCglhdCBvcmcuanVu aXQucnVubmVycy5QYXJlbnRSdW5uZXIkMS5zY2hlZHVsZShQYXJlbnRSdW5uZXIuamF2YTo2MCkK CWF0IG9yZy5qdW5pdC5ydW5uZXJzLlBhcmVudFJ1bm5lci5ydW5DaGlsZHJlbihQYXJlbnRSdW5u ZXIuamF2YToyMjkpCglhdCBvcmcuanVuaXQucnVubmVycy5QYXJlbnRSdW5uZXIuYWNjZXNzJDAw MChQYXJlbnRSdW5uZXIuamF2YTo1MCkKCWF0IG9yZy5qdW5pdC5ydW5uZXJzLlBhcmVudFJ1bm5l ciQyLmV2YWx1YXRlKFBhcmVudFJ1bm5lci5qYXZhOjIyMikKCWF0IG9yZy5qdW5pdC5ydWxlcy5U ZXN0V2F0Y2hlciQxLmV2YWx1YXRlKFRlc3RXYXRjaGVyLmphdmE6NDcpCglhdCBvcmcuanVuaXQu cnVsZXMuUnVuUnVsZXMuZXZhbHVhdGUoUnVuUnVsZXMuamF2YToxOCkKCWF0IG9yZy5qdW5pdC5y dW5uZXJzLlBhcmVudFJ1bm5lci5ydW4oUGFyZW50UnVubmVyLmphdmE6MzAwKQoJYXQgb3JnLm1v Y2tpdG8uaW50ZXJuYWwucnVubmVycy5KVW5pdDQ1QW5kSGlnaGVyUnVubmVySW1wbC5ydW4oSlVu aXQ0NUFuZEhpZ2hlclJ1bm5lckltcGwuamF2YTozNykKCWF0IG9yZy5tb2NraXRvLnJ1bm5lcnMu TW9ja2l0b0pVbml0UnVubmVyLnJ1bihNb2NraXRvSlVuaXRSdW5uZXIuamF2YTo2MikKCWF0IG9y Zy5hcGFjaGUubWF2ZW4uc3VyZWZpcmUuanVuaXQ0LkpVbml0NFRlc3RTZXQuZXhlY3V0ZShKVW5p dDRUZXN0U2V0LmphdmE6MzUpCglhdCBvcmcuYXBhY2hlLm1hdmVuLnN1cmVmaXJlLmp1bml0NC5K VW5pdDRQcm92aWRlci5leGVjdXRlVGVzdFNldChKVW5pdDRQcm92aWRlci5qYXZhOjExNSkKCWF0 IG9yZy5hcGFjaGUubWF2ZW4uc3VyZWZpcmUuanVuaXQ0LkpVbml0NFByb3ZpZGVyLmludm9rZShK VW5pdDRQcm92aWRlci5qYXZhOjk3KQoJYXQgc3VuLnJlZmxlY3QuTmF0aXZlTWV0aG9kQWNjZXNz b3JJbXBsLmludm9rZTAoTmF0aXZlIE1ldGhvZCkKCWF0IHN1bi5yZWZsZWN0Lk5hdGl2ZU1ldGhv ZEFjY2Vzc29ySW1wbC5pbnZva2UoTmF0aXZlTWV0aG9kQWNjZXNzb3JJbXBsLmphdmE6NTcpCglh dCBzdW4ucmVmbGVjdC5EZWxlZ2F0aW5nTWV0aG9kQWNjZXNzb3JJbXBsLmludm9rZShEZWxlZ2F0 aW5nTWV0aG9kQWNjZXNzb3JJbXBsLmphdmE6NDMpCglhdCBqYXZhLmxhbmcucmVmbGVjdC5NZXRo b2QuaW52b2tlKE1ldGhvZC5qYXZhOjYwNikKCWF0IG9yZy5hcGFjaGUubWF2ZW4uc3VyZWZpcmUu Ym9vdGVyLlByb3ZpZGVyRmFjdG9yeSRDbGFzc0xvYWRlclByb3h5Lmludm9rZShQcm92aWRlckZh Y3RvcnkuamF2YToxMDMpCglhdCBjb20uc3VuLnByb3h5LiRQcm94eTAuaW52b2tlKFVua25vd24g U291cmNlKQoJYXQgb3JnLmFwYWNoZS5tYXZlbi5zdXJlZmlyZS5ib290ZXIuU3VyZWZpcmVTdGFy dGVyLmludm9rZVByb3ZpZGVyKFN1cmVmaXJlU3RhcnRlci5qYXZhOjE1MCkKCWF0IG9yZy5hcGFj aGUubWF2ZW4uc3VyZWZpcmUuYm9vdGVyLlN1cmVmaXJlU3RhcnRlci5ydW5TdWl0ZXNJblByb2Nl c3MoU3VyZWZpcmVTdGFydGVyLmphdmE6OTEpCglhdCBvcmcuYXBhY2hlLm1hdmVuLnN1cmVmaXJl LmJvb3Rlci5Gb3JrZWRCb290ZXIubWFpbihGb3JrZWRCb290ZXIuamF2YTo2OSkKCnZhbGlkYXRl SXNvUHJlZml4Q2FzZVNlbnNpdGl2ZShvcmcub3ZpcnQuZW5naW5lLmNvcmUuYmxsLlJ1blZtQ29t bWFuZFRlc3QpICBUaW1lIGVsYXBzZWQ6IDAuMDAzIHNlYyAgPDw8IEVSUk9SIQpqYXZhLmxhbmcu TnVsbFBvaW50ZXJFeGNlcHRpb24KCWF0IG9yZy5vdmlydC5lbmdpbmUuY29yZS5ibGwuUnVuVm1D b21tYW5kLmd1ZXN0VG9vbHNWZXJzaW9uVHJlYXRtZW50KFJ1blZtQ29tbWFuZC5qYXZhOjY4MCkK CWF0IG9yZy5vdmlydC5lbmdpbmUuY29yZS5ibGwuUnVuVm1Db21tYW5kLmNob29zZUNkKFJ1blZt Q29tbWFuZC5qYXZhOjMyNykKCWF0IG9yZy5vdmlydC5lbmdpbmUuY29yZS5ibGwuUnVuVm1Db21t YW5kLmNyZWF0ZVZtKFJ1blZtQ29tbWFuZC5qYXZhOjQ1MSkKCWF0IG9yZy5vdmlydC5lbmdpbmUu Y29yZS5ibGwuUnVuVm1Db21tYW5kVGVzdC5jcmVhdGVWbUZvclRlc3RpbmcoUnVuVm1Db21tYW5k VGVzdC5qYXZhOjI3OSkKCWF0IG9yZy5vdmlydC5lbmdpbmUuY29yZS5ibGwuUnVuVm1Db21tYW5k VGVzdC52YWxpZGF0ZUlzb1ByZWZpeENhc2VTZW5zaXRpdmUoUnVuVm1Db21tYW5kVGVzdC5qYXZh OjE4NSkKCWF0IHN1bi5yZWZsZWN0Lk5hdGl2ZU1ldGhvZEFjY2Vzc29ySW1wbC5pbnZva2UwKE5h dGl2ZSBNZXRob2QpCglhdCBzdW4ucmVmbGVjdC5OYXRpdmVNZXRob2RBY2Nlc3NvckltcGwuaW52 b2tlKE5hdGl2ZU1ldGhvZEFjY2Vzc29ySW1wbC5qYXZhOjU3KQoJYXQgc3VuLnJlZmxlY3QuRGVs ZWdhdGluZ01ldGhvZEFjY2Vzc29ySW1wbC5pbnZva2UoRGVsZWdhdGluZ01ldGhvZEFjY2Vzc29y SW1wbC5qYXZhOjQzKQoJYXQgamF2YS5sYW5nLnJlZmxlY3QuTWV0aG9kLmludm9rZShNZXRob2Qu amF2YTo2MDYpCglhdCBvcmcuanVuaXQucnVubmVycy5tb2RlbC5GcmFtZXdvcmtNZXRob2QkMS5y dW5SZWZsZWN0aXZlQ2FsbChGcmFtZXdvcmtNZXRob2QuamF2YTo0NSkKCWF0IG9yZy5qdW5pdC5p bnRlcm5hbC5ydW5uZXJzLm1vZGVsLlJlZmxlY3RpdmVDYWxsYWJsZS5ydW4oUmVmbGVjdGl2ZUNh bGxhYmxlLmphdmE6MTUpCglhdCBvcmcuanVuaXQucnVubmVycy5tb2RlbC5GcmFtZXdvcmtNZXRo b2QuaW52b2tlRXhwbG9zaXZlbHkoRnJhbWV3b3JrTWV0aG9kLmphdmE6NDIpCglhdCBvcmcuanVu aXQuaW50ZXJuYWwucnVubmVycy5zdGF0ZW1lbnRzLkludm9rZU1ldGhvZC5ldmFsdWF0ZShJbnZv a2VNZXRob2QuamF2YToyMCkKCWF0IG9yZy5qdW5pdC5pbnRlcm5hbC5ydW5uZXJzLnN0YXRlbWVu dHMuUnVuQmVmb3Jlcy5ldmFsdWF0ZShSdW5CZWZvcmVzLmphdmE6MjgpCglhdCBvcmcuanVuaXQu cnVubmVycy5QYXJlbnRSdW5uZXIucnVuTGVhZihQYXJlbnRSdW5uZXIuamF2YToyNjMpCglhdCBv cmcuanVuaXQucnVubmVycy5CbG9ja0pVbml0NENsYXNzUnVubmVyLnJ1bkNoaWxkKEJsb2NrSlVu aXQ0Q2xhc3NSdW5uZXIuamF2YTo2OCkKCWF0IG9yZy5qdW5pdC5ydW5uZXJzLkJsb2NrSlVuaXQ0 Q2xhc3NSdW5uZXIucnVuQ2hpbGQoQmxvY2tKVW5pdDRDbGFzc1J1bm5lci5qYXZhOjQ3KQoJYXQg b3JnLmp1bml0LnJ1bm5lcnMuUGFyZW50UnVubmVyJDMucnVuKFBhcmVudFJ1bm5lci5qYXZhOjIz MSkKCWF0IG9yZy5qdW5pdC5ydW5uZXJzLlBhcmVudFJ1bm5lciQxLnNjaGVkdWxlKFBhcmVudFJ1 bm5lci5qYXZhOjYwKQoJYXQgb3JnLmp1bml0LnJ1bm5lcnMuUGFyZW50UnVubmVyLnJ1bkNoaWxk cmVuKFBhcmVudFJ1bm5lci5qYXZhOjIyOSkKCWF0IG9yZy5qdW5pdC5ydW5uZXJzLlBhcmVudFJ1 bm5lci5hY2Nlc3MkMDAwKFBhcmVudFJ1bm5lci5qYXZhOjUwKQoJYXQgb3JnLmp1bml0LnJ1bm5l cnMuUGFyZW50UnVubmVyJDIuZXZhbHVhdGUoUGFyZW50UnVubmVyLmphdmE6MjIyKQoJYXQgb3Jn Lmp1bml0LnJ1bGVzLlRlc3RXYXRjaGVyJDEuZXZhbHVhdGUoVGVzdFdhdGNoZXIuamF2YTo0NykK CWF0IG9yZy5qdW5pdC5ydWxlcy5SdW5SdWxlcy5ldmFsdWF0ZShSdW5SdWxlcy5qYXZhOjE4KQoJ YXQgb3JnLmp1bml0LnJ1bm5lcnMuUGFyZW50UnVubmVyLnJ1bihQYXJlbnRSdW5uZXIuamF2YToz MDApCglhdCBvcmcubW9ja2l0by5pbnRlcm5hbC5ydW5uZXJzLkpVbml0NDVBbmRIaWdoZXJSdW5u ZXJJbXBsLnJ1bihKVW5pdDQ1QW5kSGlnaGVyUnVubmVySW1wbC5qYXZhOjM3KQoJYXQgb3JnLm1v Y2tpdG8ucnVubmVycy5Nb2NraXRvSlVuaXRSdW5uZXIucnVuKE1vY2tpdG9KVW5pdFJ1bm5lci5q YXZhOjYyKQoJYXQgb3JnLmFwYWNoZS5tYXZlbi5zdXJlZmlyZS5qdW5pdDQuSlVuaXQ0VGVzdFNl dC5leGVjdXRlKEpVbml0NFRlc3RTZXQuamF2YTozNSkKCWF0IG9yZy5hcGFjaGUubWF2ZW4uc3Vy ZWZpcmUuanVuaXQ0LkpVbml0NFByb3ZpZGVyLmV4ZWN1dGVUZXN0U2V0KEpVbml0NFByb3ZpZGVy LmphdmE6MTE1KQoJYXQgb3JnLmFwYWNoZS5tYXZlbi5zdXJlZmlyZS5qdW5pdDQuSlVuaXQ0UHJv dmlkZXIuaW52b2tlKEpVbml0NFByb3ZpZGVyLmphdmE6OTcpCglhdCBzdW4ucmVmbGVjdC5OYXRp dmVNZXRob2RBY2Nlc3NvckltcGwuaW52b2tlMChOYXRpdmUgTWV0aG9kKQoJYXQgc3VuLnJlZmxl Y3QuTmF0aXZlTWV0aG9kQWNjZXNzb3JJbXBsLmludm9rZShOYXRpdmVNZXRob2RBY2Nlc3Nvcklt cGwuamF2YTo1NykKCWF0IHN1bi5yZWZsZWN0LkRlbGVnYXRpbmdNZXRob2RBY2Nlc3NvckltcGwu aW52b2tlKERlbGVnYXRpbmdNZXRob2RBY2Nlc3NvckltcGwuamF2YTo0MykKCWF0IGphdmEubGFu Zy5yZWZsZWN0Lk1ldGhvZC5pbnZva2UoTWV0aG9kLmphdmE6NjA2KQoJYXQgb3JnLmFwYWNoZS5t YXZlbi5zdXJlZmlyZS5ib290ZXIuUHJvdmlkZXJGYWN0b3J5JENsYXNzTG9hZGVyUHJveHkuaW52 b2tlKFByb3ZpZGVyRmFjdG9yeS5qYXZhOjEwMykKCWF0IGNvbS5zdW4ucHJveHkuJFByb3h5MC5p bnZva2UoVW5rbm93biBTb3VyY2UpCglhdCBvcmcuYXBhY2hlLm1hdmVuLnN1cmVmaXJlLmJvb3Rl ci5TdXJlZmlyZVN0YXJ0ZXIuaW52b2tlUHJvdmlkZXIoU3VyZWZpcmVTdGFydGVyLmphdmE6MTUw KQoJYXQgb3JnLmFwYWNoZS5tYXZlbi5zdXJlZmlyZS5ib290ZXIuU3VyZWZpcmVTdGFydGVyLnJ1 blN1aXRlc0luUHJvY2VzcyhTdXJlZmlyZVN0YXJ0ZXIuamF2YTo5MSkKCWF0IG9yZy5hcGFjaGUu bWF2ZW4uc3VyZWZpcmUuYm9vdGVyLkZvcmtlZEJvb3Rlci5tYWluKEZvcmtlZEJvb3Rlci5qYXZh OjY5KQoKdmFsaWRhdGVJc29QcmVmaXhGb3JPbmx5SXNvUHJlZml4SW5LZXJuZWxBbmRJbml0cmQo b3JnLm92aXJ0LmVuZ2luZS5jb3JlLmJsbC5SdW5WbUNvbW1hbmRUZXN0KSAgVGltZSBlbGFwc2Vk OiAwLjAwNCBzZWMgIDw8PCBFUlJPUiEKamF2YS5sYW5nLk51bGxQb2ludGVyRXhjZXB0aW9uCglh dCBvcmcub3ZpcnQuZW5naW5lLmNvcmUuYmxsLlJ1blZtQ29tbWFuZC5ndWVzdFRvb2xzVmVyc2lv blRyZWF0bWVudChSdW5WbUNvbW1hbmQuamF2YTo2ODApCglhdCBvcmcub3ZpcnQuZW5naW5lLmNv cmUuYmxsLlJ1blZtQ29tbWFuZC5jaG9vc2VDZChSdW5WbUNvbW1hbmQuamF2YTozMjcpCglhdCBv cmcub3ZpcnQuZW5naW5lLmNvcmUuYmxsLlJ1blZtQ29tbWFuZC5jcmVhdGVWbShSdW5WbUNvbW1h bmQuamF2YTo0NTEpCglhdCBvcmcub3ZpcnQuZW5naW5lLmNvcmUuYmxsLlJ1blZtQ29tbWFuZFRl c3QuY3JlYXRlVm1Gb3JUZXN0aW5nKFJ1blZtQ29tbWFuZFRlc3QuamF2YToyNzkpCglhdCBvcmcu b3ZpcnQuZW5naW5lLmNvcmUuYmxsLlJ1blZtQ29tbWFuZFRlc3QudmFsaWRhdGVJc29QcmVmaXhG b3JPbmx5SXNvUHJlZml4SW5LZXJuZWxBbmRJbml0cmQoUnVuVm1Db21tYW5kVGVzdC5qYXZhOjE5 MykKCWF0IHN1bi5yZWZsZWN0Lk5hdGl2ZU1ldGhvZEFjY2Vzc29ySW1wbC5pbnZva2UwKE5hdGl2 ZSBNZXRob2QpCglhdCBzdW4ucmVmbGVjdC5OYXRpdmVNZXRob2RBY2Nlc3NvckltcGwuaW52b2tl KE5hdGl2ZU1ldGhvZEFjY2Vzc29ySW1wbC5qYXZhOjU3KQoJYXQgc3VuLnJlZmxlY3QuRGVsZWdh dGluZ01ldGhvZEFjY2Vzc29ySW1wbC5pbnZva2UoRGVsZWdhdGluZ01ldGhvZEFjY2Vzc29ySW1w bC5qYXZhOjQzKQoJYXQgamF2YS5sYW5nLnJlZmxlY3QuTWV0aG9kLmludm9rZShNZXRob2QuamF2 YTo2MDYpCglhdCBvcmcuanVuaXQucnVubmVycy5tb2RlbC5GcmFtZXdvcmtNZXRob2QkMS5ydW5S ZWZsZWN0aXZlQ2FsbChGcmFtZXdvcmtNZXRob2QuamF2YTo0NSkKCWF0IG9yZy5qdW5pdC5pbnRl cm5hbC5ydW5uZXJzLm1vZGVsLlJlZmxlY3RpdmVDYWxsYWJsZS5ydW4oUmVmbGVjdGl2ZUNhbGxh YmxlLmphdmE6MTUpCglhdCBvcmcuanVuaXQucnVubmVycy5tb2RlbC5GcmFtZXdvcmtNZXRob2Qu aW52b2tlRXhwbG9zaXZlbHkoRnJhbWV3b3JrTWV0aG9kLmphdmE6NDIpCglhdCBvcmcuanVuaXQu aW50ZXJuYWwucnVubmVycy5zdGF0ZW1lbnRzLkludm9rZU1ldGhvZC5ldmFsdWF0ZShJbnZva2VN ZXRob2QuamF2YToyMCkKCWF0IG9yZy5qdW5pdC5pbnRlcm5hbC5ydW5uZXJzLnN0YXRlbWVudHMu UnVuQmVmb3Jlcy5ldmFsdWF0ZShSdW5CZWZvcmVzLmphdmE6MjgpCglhdCBvcmcuanVuaXQucnVu bmVycy5QYXJlbnRSdW5uZXIucnVuTGVhZihQYXJlbnRSdW5uZXIuamF2YToyNjMpCglhdCBvcmcu anVuaXQucnVubmVycy5CbG9ja0pVbml0NENsYXNzUnVubmVyLnJ1bkNoaWxkKEJsb2NrSlVuaXQ0 Q2xhc3NSdW5uZXIuamF2YTo2OCkKCWF0IG9yZy5qdW5pdC5ydW5uZXJzLkJsb2NrSlVuaXQ0Q2xh c3NSdW5uZXIucnVuQ2hpbGQoQmxvY2tKVW5pdDRDbGFzc1J1bm5lci5qYXZhOjQ3KQoJYXQgb3Jn Lmp1bml0LnJ1bm5lcnMuUGFyZW50UnVubmVyJDMucnVuKFBhcmVudFJ1bm5lci5qYXZhOjIzMSkK CWF0IG9yZy5qdW5pdC5ydW5uZXJzLlBhcmVudFJ1bm5lciQxLnNjaGVkdWxlKFBhcmVudFJ1bm5l ci5qYXZhOjYwKQoJYXQgb3JnLmp1bml0LnJ1bm5lcnMuUGFyZW50UnVubmVyLnJ1bkNoaWxkcmVu KFBhcmVudFJ1bm5lci5qYXZhOjIyOSkKCWF0IG9yZy5qdW5pdC5ydW5uZXJzLlBhcmVudFJ1bm5l ci5hY2Nlc3MkMDAwKFBhcmVudFJ1bm5lci5qYXZhOjUwKQoJYXQgb3JnLmp1bml0LnJ1bm5lcnMu UGFyZW50UnVubmVyJDIuZXZhbHVhdGUoUGFyZW50UnVubmVyLmphdmE6MjIyKQoJYXQgb3JnLmp1 bml0LnJ1bGVzLlRlc3RXYXRjaGVyJDEuZXZhbHVhdGUoVGVzdFdhdGNoZXIuamF2YTo0NykKCWF0 IG9yZy5qdW5pdC5ydWxlcy5SdW5SdWxlcy5ldmFsdWF0ZShSdW5SdWxlcy5qYXZhOjE4KQoJYXQg b3JnLmp1bml0LnJ1bm5lcnMuUGFyZW50UnVubmVyLnJ1bihQYXJlbnRSdW5uZXIuamF2YTozMDAp CglhdCBvcmcubW9ja2l0by5pbnRlcm5hbC5ydW5uZXJzLkpVbml0NDVBbmRIaWdoZXJSdW5uZXJJ bXBsLnJ1bihKVW5pdDQ1QW5kSGlnaGVyUnVubmVySW1wbC5qYXZhOjM3KQoJYXQgb3JnLm1vY2tp dG8ucnVubmVycy5Nb2NraXRvSlVuaXRSdW5uZXIucnVuKE1vY2tpdG9KVW5pdFJ1bm5lci5qYXZh OjYyKQoJYXQgb3JnLmFwYWNoZS5tYXZlbi5zdXJlZmlyZS5qdW5pdDQuSlVuaXQ0VGVzdFNldC5l eGVjdXRlKEpVbml0NFRlc3RTZXQuamF2YTozNSkKCWF0IG9yZy5hcGFjaGUubWF2ZW4uc3VyZWZp cmUuanVuaXQ0LkpVbml0NFByb3ZpZGVyLmV4ZWN1dGVUZXN0U2V0KEpVbml0NFByb3ZpZGVyLmph dmE6MTE1KQoJYXQgb3JnLmFwYWNoZS5tYXZlbi5zdXJlZmlyZS5qdW5pdDQuSlVuaXQ0UHJvdmlk ZXIuaW52b2tlKEpVbml0NFByb3ZpZGVyLmphdmE6OTcpCglhdCBzdW4ucmVmbGVjdC5OYXRpdmVN ZXRob2RBY2Nlc3NvckltcGwuaW52b2tlMChOYXRpdmUgTWV0aG9kKQoJYXQgc3VuLnJlZmxlY3Qu TmF0aXZlTWV0aG9kQWNjZXNzb3JJbXBsLmludm9rZShOYXRpdmVNZXRob2RBY2Nlc3NvckltcGwu amF2YTo1NykKCWF0IHN1bi5yZWZsZWN0LkRlbGVnYXRpbmdNZXRob2RBY2Nlc3NvckltcGwuaW52 b2tlKERlbGVnYXRpbmdNZXRob2RBY2Nlc3NvckltcGwuamF2YTo0MykKCWF0IGphdmEubGFuZy5y ZWZsZWN0Lk1ldGhvZC5pbnZva2UoTWV0aG9kLmphdmE6NjA2KQoJYXQgb3JnLmFwYWNoZS5tYXZl bi5zdXJlZmlyZS5ib290ZXIuUHJvdmlkZXJGYWN0b3J5JENsYXNzTG9hZGVyUHJveHkuaW52b2tl KFByb3ZpZGVyRmFjdG9yeS5qYXZhOjEwMykKCWF0IGNvbS5zdW4ucHJveHkuJFByb3h5MC5pbnZv a2UoVW5rbm93biBTb3VyY2UpCglhdCBvcmcuYXBhY2hlLm1hdmVuLnN1cmVmaXJlLmJvb3Rlci5T dXJlZmlyZVN0YXJ0ZXIuaW52b2tlUHJvdmlkZXIoU3VyZWZpcmVTdGFydGVyLmphdmE6MTUwKQoJ YXQgb3JnLmFwYWNoZS5tYXZlbi5zdXJlZmlyZS5ib290ZXIuU3VyZWZpcmVTdGFydGVyLnJ1blN1 aXRlc0luUHJvY2VzcyhTdXJlZmlyZVN0YXJ0ZXIuamF2YTo5MSkKCWF0IG9yZy5hcGFjaGUubWF2 ZW4uc3VyZWZpcmUuYm9vdGVyLkZvcmtlZEJvb3Rlci5tYWluKEZvcmtlZEJvb3Rlci5qYXZhOjY5 KQoKY2hlY2tJc29QcmVmaXhGb3JOYXN0eUNoYXJhY3RlcnMob3JnLm92aXJ0LmVuZ2luZS5jb3Jl LmJsbC5SdW5WbUNvbW1hbmRUZXN0KSAgVGltZSBlbGFwc2VkOiAwLjAwMyBzZWMgIDw8PCBFUlJP UiEKamF2YS5sYW5nLk51bGxQb2ludGVyRXhjZXB0aW9uCglhdCBvcmcub3ZpcnQuZW5naW5lLmNv cmUuYmxsLlJ1blZtQ29tbWFuZC5ndWVzdFRvb2xzVmVyc2lvblRyZWF0bWVudChSdW5WbUNvbW1h bmQuamF2YTo2ODApCglhdCBvcmcub3ZpcnQuZW5naW5lLmNvcmUuYmxsLlJ1blZtQ29tbWFuZC5j aG9vc2VDZChSdW5WbUNvbW1hbmQuamF2YTozMjcpCglhdCBvcmcub3ZpcnQuZW5naW5lLmNvcmUu YmxsLlJ1blZtQ29tbWFuZC5jcmVhdGVWbShSdW5WbUNvbW1hbmQuamF2YTo0NTEpCglhdCBvcmcu b3ZpcnQuZW5naW5lLmNvcmUuYmxsLlJ1blZtQ29tbWFuZFRlc3QuY3JlYXRlVm1Gb3JUZXN0aW5n KFJ1blZtQ29tbWFuZFRlc3QuamF2YToyNzkpCglhdCBvcmcub3ZpcnQuZW5naW5lLmNvcmUuYmxs LlJ1blZtQ29tbWFuZFRlc3QuY2hlY2tJc29QcmVmaXhGb3JOYXN0eUNoYXJhY3RlcnMoUnVuVm1D b21tYW5kVGVzdC5qYXZhOjIwMikKCWF0IHN1bi5yZWZsZWN0Lk5hdGl2ZU1ldGhvZEFjY2Vzc29y SW1wbC5pbnZva2UwKE5hdGl2ZSBNZXRob2QpCglhdCBzdW4ucmVmbGVjdC5OYXRpdmVNZXRob2RB Y2Nlc3NvckltcGwuaW52b2tlKE5hdGl2ZU1ldGhvZEFjY2Vzc29ySW1wbC5qYXZhOjU3KQoJYXQg c3VuLnJlZmxlY3QuRGVsZWdhdGluZ01ldGhvZEFjY2Vzc29ySW1wbC5pbnZva2UoRGVsZWdhdGlu Z01ldGhvZEFjY2Vzc29ySW1wbC5qYXZhOjQzKQoJYXQgamF2YS5sYW5nLnJlZmxlY3QuTWV0aG9k Lmludm9rZShNZXRob2QuamF2YTo2MDYpCglhdCBvcmcuanVuaXQucnVubmVycy5tb2RlbC5GcmFt ZXdvcmtNZXRob2QkMS5ydW5SZWZsZWN0aXZlQ2FsbChGcmFtZXdvcmtNZXRob2QuamF2YTo0NSkK CWF0IG9yZy5qdW5pdC5pbnRlcm5hbC5ydW5uZXJzLm1vZGVsLlJlZmxlY3RpdmVDYWxsYWJsZS5y dW4oUmVmbGVjdGl2ZUNhbGxhYmxlLmphdmE6MTUpCglhdCBvcmcuanVuaXQucnVubmVycy5tb2Rl bC5GcmFtZXdvcmtNZXRob2QuaW52b2tlRXhwbG9zaXZlbHkoRnJhbWV3b3JrTWV0aG9kLmphdmE6 NDIpCglhdCBvcmcuanVuaXQuaW50ZXJuYWwucnVubmVycy5zdGF0ZW1lbnRzLkludm9rZU1ldGhv ZC5ldmFsdWF0ZShJbnZva2VNZXRob2QuamF2YToyMCkKCWF0IG9yZy5qdW5pdC5pbnRlcm5hbC5y dW5uZXJzLnN0YXRlbWVudHMuUnVuQmVmb3Jlcy5ldmFsdWF0ZShSdW5CZWZvcmVzLmphdmE6Mjgp CglhdCBvcmcuanVuaXQucnVubmVycy5QYXJlbnRSdW5uZXIucnVuTGVhZihQYXJlbnRSdW5uZXIu amF2YToyNjMpCglhdCBvcmcuanVuaXQucnVubmVycy5CbG9ja0pVbml0NENsYXNzUnVubmVyLnJ1 bkNoaWxkKEJsb2NrSlVuaXQ0Q2xhc3NSdW5uZXIuamF2YTo2OCkKCWF0IG9yZy5qdW5pdC5ydW5u ZXJzLkJsb2NrSlVuaXQ0Q2xhc3NSdW5uZXIucnVuQ2hpbGQoQmxvY2tKVW5pdDRDbGFzc1J1bm5l ci5qYXZhOjQ3KQoJYXQgb3JnLmp1bml0LnJ1bm5lcnMuUGFyZW50UnVubmVyJDMucnVuKFBhcmVu dFJ1bm5lci5qYXZhOjIzMSkKCWF0IG9yZy5qdW5pdC5ydW5uZXJzLlBhcmVudFJ1bm5lciQxLnNj aGVkdWxlKFBhcmVudFJ1bm5lci5qYXZhOjYwKQoJYXQgb3JnLmp1bml0LnJ1bm5lcnMuUGFyZW50 UnVubmVyLnJ1bkNoaWxkcmVuKFBhcmVudFJ1bm5lci5qYXZhOjIyOSkKCWF0IG9yZy5qdW5pdC5y dW5uZXJzLlBhcmVudFJ1bm5lci5hY2Nlc3MkMDAwKFBhcmVudFJ1bm5lci5qYXZhOjUwKQoJYXQg b3JnLmp1bml0LnJ1bm5lcnMuUGFyZW50UnVubmVyJDIuZXZhbHVhdGUoUGFyZW50UnVubmVyLmph dmE6MjIyKQoJYXQgb3JnLmp1bml0LnJ1bGVzLlRlc3RXYXRjaGVyJDEuZXZhbHVhdGUoVGVzdFdh dGNoZXIuamF2YTo0NykKCWF0IG9yZy5qdW5pdC5ydWxlcy5SdW5SdWxlcy5ldmFsdWF0ZShSdW5S dWxlcy5qYXZhOjE4KQoJYXQgb3JnLmp1bml0LnJ1bm5lcnMuUGFyZW50UnVubmVyLnJ1bihQYXJl bnRSdW5uZXIuamF2YTozMDApCglhdCBvcmcubW9ja2l0by5pbnRlcm5hbC5ydW5uZXJzLkpVbml0 NDVBbmRIaWdoZXJSdW5uZXJJbXBsLnJ1bihKVW5pdDQ1QW5kSGlnaGVyUnVubmVySW1wbC5qYXZh OjM3KQoJYXQgb3JnLm1vY2tpdG8ucnVubmVycy5Nb2NraXRvSlVuaXRSdW5uZXIucnVuKE1vY2tp dG9KVW5pdFJ1bm5lci5qYXZhOjYyKQoJYXQgb3JnLmFwYWNoZS5tYXZlbi5zdXJlZmlyZS5qdW5p dDQuSlVuaXQ0VGVzdFNldC5leGVjdXRlKEpVbml0NFRlc3RTZXQuamF2YTozNSkKCWF0IG9yZy5h cGFjaGUubWF2ZW4uc3VyZWZpcmUuanVuaXQ0LkpVbml0NFByb3ZpZGVyLmV4ZWN1dGVUZXN0U2V0 KEpVbml0NFByb3ZpZGVyLmphdmE6MTE1KQoJYXQgb3JnLmFwYWNoZS5tYXZlbi5zdXJlZmlyZS5q dW5pdDQuSlVuaXQ0UHJvdmlkZXIuaW52b2tlKEpVbml0NFByb3ZpZGVyLmphdmE6OTcpCglhdCBz dW4ucmVmbGVjdC5OYXRpdmVNZXRob2RBY2Nlc3NvckltcGwuaW52b2tlMChOYXRpdmUgTWV0aG9k KQoJYXQgc3VuLnJlZmxlY3QuTmF0aXZlTWV0aG9kQWNjZXNzb3JJbXBsLmludm9rZShOYXRpdmVN ZXRob2RBY2Nlc3NvckltcGwuamF2YTo1NykKCWF0IHN1bi5yZWZsZWN0LkRlbGVnYXRpbmdNZXRo b2RBY2Nlc3NvckltcGwuaW52b2tlKERlbGVnYXRpbmdNZXRob2RBY2Nlc3NvckltcGwuamF2YTo0 MykKCWF0IGphdmEubGFuZy5yZWZsZWN0Lk1ldGhvZC5pbnZva2UoTWV0aG9kLmphdmE6NjA2KQoJ YXQgb3JnLmFwYWNoZS5tYXZlbi5zdXJlZmlyZS5ib290ZXIuUHJvdmlkZXJGYWN0b3J5JENsYXNz TG9hZGVyUHJveHkuaW52b2tlKFByb3ZpZGVyRmFjdG9yeS5qYXZhOjEwMykKCWF0IGNvbS5zdW4u cHJveHkuJFByb3h5MC5pbnZva2UoVW5rbm93biBTb3VyY2UpCglhdCBvcmcuYXBhY2hlLm1hdmVu LnN1cmVmaXJlLmJvb3Rlci5TdXJlZmlyZVN0YXJ0ZXIuaW52b2tlUHJvdmlkZXIoU3VyZWZpcmVT dGFydGVyLmphdmE6MTUwKQoJYXQgb3JnLmFwYWNoZS5tYXZlbi5zdXJlZmlyZS5ib290ZXIuU3Vy ZWZpcmVTdGFydGVyLnJ1blN1aXRlc0luUHJvY2VzcyhTdXJlZmlyZVN0YXJ0ZXIuamF2YTo5MSkK CWF0IG9yZy5hcGFjaGUubWF2ZW4uc3VyZWZpcmUuYm9vdGVyLkZvcmtlZEJvb3Rlci5tYWluKEZv cmtlZEJvb3Rlci5qYXZhOjY5KQoKdmFsaWRhdGVJc29QcmVmaXhOYW1lRm9ySW5pdHJkQW5kTnVs bEZvcktlcm5lbChvcmcub3ZpcnQuZW5naW5lLmNvcmUuYmxsLlJ1blZtQ29tbWFuZFRlc3QpICBU aW1lIGVsYXBzZWQ6IDAuMDAzIHNlYyAgPDw8IEVSUk9SIQpqYXZhLmxhbmcuTnVsbFBvaW50ZXJF eGNlcHRpb24KCWF0IG9yZy5vdmlydC5lbmdpbmUuY29yZS5ibGwuUnVuVm1Db21tYW5kLmd1ZXN0 VG9vbHNWZXJzaW9uVHJlYXRtZW50KFJ1blZtQ29tbWFuZC5qYXZhOjY4MCkKCWF0IG9yZy5vdmly dC5lbmdpbmUuY29yZS5ibGwuUnVuVm1Db21tYW5kLmNob29zZUNkKFJ1blZtQ29tbWFuZC5qYXZh OjMyNykKCWF0IG9yZy5vdmlydC5lbmdpbmUuY29yZS5ibGwuUnVuVm1Db21tYW5kLmNyZWF0ZVZt KFJ1blZtQ29tbWFuZC5qYXZhOjQ1MSkKCWF0IG9yZy5vdmlydC5lbmdpbmUuY29yZS5ibGwuUnVu Vm1Db21tYW5kVGVzdC5jcmVhdGVWbUZvclRlc3RpbmcoUnVuVm1Db21tYW5kVGVzdC5qYXZhOjI3 OSkKCWF0IG9yZy5vdmlydC5lbmdpbmUuY29yZS5ibGwuUnVuVm1Db21tYW5kVGVzdC52YWxpZGF0 ZUlzb1ByZWZpeE5hbWVGb3JJbml0cmRBbmROdWxsRm9yS2VybmVsKFJ1blZtQ29tbWFuZFRlc3Qu amF2YToyMTApCglhdCBzdW4ucmVmbGVjdC5OYXRpdmVNZXRob2RBY2Nlc3NvckltcGwuaW52b2tl MChOYXRpdmUgTWV0aG9kKQoJYXQgc3VuLnJlZmxlY3QuTmF0aXZlTWV0aG9kQWNjZXNzb3JJbXBs Lmludm9rZShOYXRpdmVNZXRob2RBY2Nlc3NvckltcGwuamF2YTo1NykKCWF0IHN1bi5yZWZsZWN0 LkRlbGVnYXRpbmdNZXRob2RBY2Nlc3NvckltcGwuaW52b2tlKERlbGVnYXRpbmdNZXRob2RBY2Nl c3NvckltcGwuamF2YTo0MykKCWF0IGphdmEubGFuZy5yZWZsZWN0Lk1ldGhvZC5pbnZva2UoTWV0 aG9kLmphdmE6NjA2KQoJYXQgb3JnLmp1bml0LnJ1bm5lcnMubW9kZWwuRnJhbWV3b3JrTWV0aG9k JDEucnVuUmVmbGVjdGl2ZUNhbGwoRnJhbWV3b3JrTWV0aG9kLmphdmE6NDUpCglhdCBvcmcuanVu aXQuaW50ZXJuYWwucnVubmVycy5tb2RlbC5SZWZsZWN0aXZlQ2FsbGFibGUucnVuKFJlZmxlY3Rp dmVDYWxsYWJsZS5qYXZhOjE1KQoJYXQgb3JnLmp1bml0LnJ1bm5lcnMubW9kZWwuRnJhbWV3b3Jr TWV0aG9kLmludm9rZUV4cGxvc2l2ZWx5KEZyYW1ld29ya01ldGhvZC5qYXZhOjQyKQoJYXQgb3Jn Lmp1bml0LmludGVybmFsLnJ1bm5lcnMuc3RhdGVtZW50cy5JbnZva2VNZXRob2QuZXZhbHVhdGUo SW52b2tlTWV0aG9kLmphdmE6MjApCglhdCBvcmcuanVuaXQuaW50ZXJuYWwucnVubmVycy5zdGF0 ZW1lbnRzLlJ1bkJlZm9yZXMuZXZhbHVhdGUoUnVuQmVmb3Jlcy5qYXZhOjI4KQoJYXQgb3JnLmp1 bml0LnJ1bm5lcnMuUGFyZW50UnVubmVyLnJ1bkxlYWYoUGFyZW50UnVubmVyLmphdmE6MjYzKQoJ YXQgb3JnLmp1bml0LnJ1bm5lcnMuQmxvY2tKVW5pdDRDbGFzc1J1bm5lci5ydW5DaGlsZChCbG9j a0pVbml0NENsYXNzUnVubmVyLmphdmE6NjgpCglhdCBvcmcuanVuaXQucnVubmVycy5CbG9ja0pV bml0NENsYXNzUnVubmVyLnJ1bkNoaWxkKEJsb2NrSlVuaXQ0Q2xhc3NSdW5uZXIuamF2YTo0NykK CWF0IG9yZy5qdW5pdC5ydW5uZXJzLlBhcmVudFJ1bm5lciQzLnJ1bihQYXJlbnRSdW5uZXIuamF2 YToyMzEpCglhdCBvcmcuanVuaXQucnVubmVycy5QYXJlbnRSdW5uZXIkMS5zY2hlZHVsZShQYXJl bnRSdW5uZXIuamF2YTo2MCkKCWF0IG9yZy5qdW5pdC5ydW5uZXJzLlBhcmVudFJ1bm5lci5ydW5D aGlsZHJlbihQYXJlbnRSdW5uZXIuamF2YToyMjkpCglhdCBvcmcuanVuaXQucnVubmVycy5QYXJl bnRSdW5uZXIuYWNjZXNzJDAwMChQYXJlbnRSdW5uZXIuamF2YTo1MCkKCWF0IG9yZy5qdW5pdC5y dW5uZXJzLlBhcmVudFJ1bm5lciQyLmV2YWx1YXRlKFBhcmVudFJ1bm5lci5qYXZhOjIyMikKCWF0 IG9yZy5qdW5pdC5ydWxlcy5UZXN0V2F0Y2hlciQxLmV2YWx1YXRlKFRlc3RXYXRjaGVyLmphdmE6 NDcpCglhdCBvcmcuanVuaXQucnVsZXMuUnVuUnVsZXMuZXZhbHVhdGUoUnVuUnVsZXMuamF2YTox OCkKCWF0IG9yZy5qdW5pdC5ydW5uZXJzLlBhcmVudFJ1bm5lci5ydW4oUGFyZW50UnVubmVyLmph dmE6MzAwKQoJYXQgb3JnLm1vY2tpdG8uaW50ZXJuYWwucnVubmVycy5KVW5pdDQ1QW5kSGlnaGVy UnVubmVySW1wbC5ydW4oSlVuaXQ0NUFuZEhpZ2hlclJ1bm5lckltcGwuamF2YTozNykKCWF0IG9y Zy5tb2NraXRvLnJ1bm5lcnMuTW9ja2l0b0pVbml0UnVubmVyLnJ1bihNb2NraXRvSlVuaXRSdW5u ZXIuamF2YTo2MikKCWF0IG9yZy5hcGFjaGUubWF2ZW4uc3VyZWZpcmUuanVuaXQ0LkpVbml0NFRl c3RTZXQuZXhlY3V0ZShKVW5pdDRUZXN0U2V0LmphdmE6MzUpCglhdCBvcmcuYXBhY2hlLm1hdmVu LnN1cmVmaXJlLmp1bml0NC5KVW5pdDRQcm92aWRlci5leGVjdXRlVGVzdFNldChKVW5pdDRQcm92 aWRlci5qYXZhOjExNSkKCWF0IG9yZy5hcGFjaGUubWF2ZW4uc3VyZWZpcmUuanVuaXQ0LkpVbml0 NFByb3ZpZGVyLmludm9rZShKVW5pdDRQcm92aWRlci5qYXZhOjk3KQoJYXQgc3VuLnJlZmxlY3Qu TmF0aXZlTWV0aG9kQWNjZXNzb3JJbXBsLmludm9rZTAoTmF0aXZlIE1ldGhvZCkKCWF0IHN1bi5y ZWZsZWN0Lk5hdGl2ZU1ldGhvZEFjY2Vzc29ySW1wbC5pbnZva2UoTmF0aXZlTWV0aG9kQWNjZXNz b3JJbXBsLmphdmE6NTcpCglhdCBzdW4ucmVmbGVjdC5EZWxlZ2F0aW5nTWV0aG9kQWNjZXNzb3JJ bXBsLmludm9rZShEZWxlZ2F0aW5nTWV0aG9kQWNjZXNzb3JJbXBsLmphdmE6NDMpCglhdCBqYXZh LmxhbmcucmVmbGVjdC5NZXRob2QuaW52b2tlKE1ldGhvZC5qYXZhOjYwNikKCWF0IG9yZy5hcGFj aGUubWF2ZW4uc3VyZWZpcmUuYm9vdGVyLlByb3ZpZGVyRmFjdG9yeSRDbGFzc0xvYWRlclByb3h5 Lmludm9rZShQcm92aWRlckZhY3RvcnkuamF2YToxMDMpCglhdCBjb20uc3VuLnByb3h5LiRQcm94 eTAuaW52b2tlKFVua25vd24gU291cmNlKQoJYXQgb3JnLmFwYWNoZS5tYXZlbi5zdXJlZmlyZS5i b290ZXIuU3VyZWZpcmVTdGFydGVyLmludm9rZVByb3ZpZGVyKFN1cmVmaXJlU3RhcnRlci5qYXZh OjE1MCkKCWF0IG9yZy5hcGFjaGUubWF2ZW4uc3VyZWZpcmUuYm9vdGVyLlN1cmVmaXJlU3RhcnRl ci5ydW5TdWl0ZXNJblByb2Nlc3MoU3VyZWZpcmVTdGFydGVyLmphdmE6OTEpCglhdCBvcmcuYXBh Y2hlLm1hdmVuLnN1cmVmaXJlLmJvb3Rlci5Gb3JrZWRCb290ZXIubWFpbihGb3JrZWRCb290ZXIu amF2YTo2OSkKCnZhbGlkYXRlSXNvUHJlZml4V2hlbk5vQWN0aXZlSXNvKG9yZy5vdmlydC5lbmdp bmUuY29yZS5ibGwuUnVuVm1Db21tYW5kVGVzdCkgIFRpbWUgZWxhcHNlZDogMC4wMDMgc2VjICA8 PDwgRVJST1IhCmphdmEubGFuZy5OdWxsUG9pbnRlckV4Y2VwdGlvbgoJYXQgb3JnLm92aXJ0LmVu Z2luZS5jb3JlLmJsbC5SdW5WbUNvbW1hbmQuZ3Vlc3RUb29sc1ZlcnNpb25UcmVhdG1lbnQoUnVu Vm1Db21tYW5kLmphdmE6NjgwKQoJYXQgb3JnLm92aXJ0LmVuZ2luZS5jb3JlLmJsbC5SdW5WbUNv bW1hbmQuY2hvb3NlQ2QoUnVuVm1Db21tYW5kLmphdmE6MzI3KQoJYXQgb3JnLm92aXJ0LmVuZ2lu ZS5jb3JlLmJsbC5SdW5WbUNvbW1hbmQuY3JlYXRlVm0oUnVuVm1Db21tYW5kLmphdmE6NDUxKQoJ YXQgb3JnLm92aXJ0LmVuZ2luZS5jb3JlLmJsbC5SdW5WbUNvbW1hbmRUZXN0LmNyZWF0ZVZtRm9y VGVzdGluZyhSdW5WbUNvbW1hbmRUZXN0LmphdmE6Mjc5KQoJYXQgb3JnLm92aXJ0LmVuZ2luZS5j b3JlLmJsbC5SdW5WbUNvbW1hbmRUZXN0LnZhbGlkYXRlSXNvUHJlZml4V2hlbk5vQWN0aXZlSXNv KFJ1blZtQ29tbWFuZFRlc3QuamF2YToyMjEpCglhdCBzdW4ucmVmbGVjdC5OYXRpdmVNZXRob2RB Y2Nlc3NvckltcGwuaW52b2tlMChOYXRpdmUgTWV0aG9kKQoJYXQgc3VuLnJlZmxlY3QuTmF0aXZl TWV0aG9kQWNjZXNzb3JJbXBsLmludm9rZShOYXRpdmVNZXRob2RBY2Nlc3NvckltcGwuamF2YTo1 NykKCWF0IHN1bi5yZWZsZWN0LkRlbGVnYXRpbmdNZXRob2RBY2Nlc3NvckltcGwuaW52b2tlKERl bGVnYXRpbmdNZXRob2RBY2Nlc3NvckltcGwuamF2YTo0MykKCWF0IGphdmEubGFuZy5yZWZsZWN0 Lk1ldGhvZC5pbnZva2UoTWV0aG9kLmphdmE6NjA2KQoJYXQgb3JnLmp1bml0LnJ1bm5lcnMubW9k ZWwuRnJhbWV3b3JrTWV0aG9kJDEucnVuUmVmbGVjdGl2ZUNhbGwoRnJhbWV3b3JrTWV0aG9kLmph dmE6NDUpCglhdCBvcmcuanVuaXQuaW50ZXJuYWwucnVubmVycy5tb2RlbC5SZWZsZWN0aXZlQ2Fs bGFibGUucnVuKFJlZmxlY3RpdmVDYWxsYWJsZS5qYXZhOjE1KQoJYXQgb3JnLmp1bml0LnJ1bm5l cnMubW9kZWwuRnJhbWV3b3JrTWV0aG9kLmludm9rZUV4cGxvc2l2ZWx5KEZyYW1ld29ya01ldGhv ZC5qYXZhOjQyKQoJYXQgb3JnLmp1bml0LmludGVybmFsLnJ1bm5lcnMuc3RhdGVtZW50cy5JbnZv a2VNZXRob2QuZXZhbHVhdGUoSW52b2tlTWV0aG9kLmphdmE6MjApCglhdCBvcmcuanVuaXQuaW50 ZXJuYWwucnVubmVycy5zdGF0ZW1lbnRzLlJ1bkJlZm9yZXMuZXZhbHVhdGUoUnVuQmVmb3Jlcy5q YXZhOjI4KQoJYXQgb3JnLmp1bml0LnJ1bm5lcnMuUGFyZW50UnVubmVyLnJ1bkxlYWYoUGFyZW50 UnVubmVyLmphdmE6MjYzKQoJYXQgb3JnLmp1bml0LnJ1bm5lcnMuQmxvY2tKVW5pdDRDbGFzc1J1 bm5lci5ydW5DaGlsZChCbG9ja0pVbml0NENsYXNzUnVubmVyLmphdmE6NjgpCglhdCBvcmcuanVu aXQucnVubmVycy5CbG9ja0pVbml0NENsYXNzUnVubmVyLnJ1bkNoaWxkKEJsb2NrSlVuaXQ0Q2xh c3NSdW5uZXIuamF2YTo0NykKCWF0IG9yZy5qdW5pdC5ydW5uZXJzLlBhcmVudFJ1bm5lciQzLnJ1 bihQYXJlbnRSdW5uZXIuamF2YToyMzEpCglhdCBvcmcuanVuaXQucnVubmVycy5QYXJlbnRSdW5u ZXIkMS5zY2hlZHVsZShQYXJlbnRSdW5uZXIuamF2YTo2MCkKCWF0IG9yZy5qdW5pdC5ydW5uZXJz LlBhcmVudFJ1bm5lci5ydW5DaGlsZHJlbihQYXJlbnRSdW5uZXIuamF2YToyMjkpCglhdCBvcmcu anVuaXQucnVubmVycy5QYXJlbnRSdW5uZXIuYWNjZXNzJDAwMChQYXJlbnRSdW5uZXIuamF2YTo1 MCkKCWF0IG9yZy5qdW5pdC5ydW5uZXJzLlBhcmVudFJ1bm5lciQyLmV2YWx1YXRlKFBhcmVudFJ1 bm5lci5qYXZhOjIyMikKCWF0IG9yZy5qdW5pdC5ydWxlcy5UZXN0V2F0Y2hlciQxLmV2YWx1YXRl KFRlc3RXYXRjaGVyLmphdmE6NDcpCglhdCBvcmcuanVuaXQucnVsZXMuUnVuUnVsZXMuZXZhbHVh dGUoUnVuUnVsZXMuamF2YToxOCkKCWF0IG9yZy5qdW5pdC5ydW5uZXJzLlBhcmVudFJ1bm5lci5y dW4oUGFyZW50UnVubmVyLmphdmE6MzAwKQoJYXQgb3JnLm1vY2tpdG8uaW50ZXJuYWwucnVubmVy cy5KVW5pdDQ1QW5kSGlnaGVyUnVubmVySW1wbC5ydW4oSlVuaXQ0NUFuZEhpZ2hlclJ1bm5lcklt cGwuamF2YTozNykKCWF0IG9yZy5tb2NraXRvLnJ1bm5lcnMuTW9ja2l0b0pVbml0UnVubmVyLnJ1 bihNb2NraXRvSlVuaXRSdW5uZXIuamF2YTo2MikKCWF0IG9yZy5hcGFjaGUubWF2ZW4uc3VyZWZp cmUuanVuaXQ0LkpVbml0NFRlc3RTZXQuZXhlY3V0ZShKVW5pdDRUZXN0U2V0LmphdmE6MzUpCglh dCBvcmcuYXBhY2hlLm1hdmVuLnN1cmVmaXJlLmp1bml0NC5KVW5pdDRQcm92aWRlci5leGVjdXRl VGVzdFNldChKVW5pdDRQcm92aWRlci5qYXZhOjExNSkKCWF0IG9yZy5hcGFjaGUubWF2ZW4uc3Vy ZWZpcmUuanVuaXQ0LkpVbml0NFByb3ZpZGVyLmludm9rZShKVW5pdDRQcm92aWRlci5qYXZhOjk3 KQoJYXQgc3VuLnJlZmxlY3QuTmF0aXZlTWV0aG9kQWNjZXNzb3JJbXBsLmludm9rZTAoTmF0aXZl IE1ldGhvZCkKCWF0IHN1bi5yZWZsZWN0Lk5hdGl2ZU1ldGhvZEFjY2Vzc29ySW1wbC5pbnZva2Uo TmF0aXZlTWV0aG9kQWNjZXNzb3JJbXBsLmphdmE6NTcpCglhdCBzdW4ucmVmbGVjdC5EZWxlZ2F0 aW5nTWV0aG9kQWNjZXNzb3JJbXBsLmludm9rZShEZWxlZ2F0aW5nTWV0aG9kQWNjZXNzb3JJbXBs LmphdmE6NDMpCglhdCBqYXZhLmxhbmcucmVmbGVjdC5NZXRob2QuaW52b2tlKE1ldGhvZC5qYXZh OjYwNikKCWF0IG9yZy5hcGFjaGUubWF2ZW4uc3VyZWZpcmUuYm9vdGVyLlByb3ZpZGVyRmFjdG9y eSRDbGFzc0xvYWRlclByb3h5Lmludm9rZShQcm92aWRlckZhY3RvcnkuamF2YToxMDMpCglhdCBj b20uc3VuLnByb3h5LiRQcm94eTAuaW52b2tlKFVua25vd24gU291cmNlKQoJYXQgb3JnLmFwYWNo ZS5tYXZlbi5zdXJlZmlyZS5ib290ZXIuU3VyZWZpcmVTdGFydGVyLmludm9rZVByb3ZpZGVyKFN1 cmVmaXJlU3RhcnRlci5qYXZhOjE1MCkKCWF0IG9yZy5hcGFjaGUubWF2ZW4uc3VyZWZpcmUuYm9v dGVyLlN1cmVmaXJlU3RhcnRlci5ydW5TdWl0ZXNJblByb2Nlc3MoU3VyZWZpcmVTdGFydGVyLmph dmE6OTEpCglhdCBvcmcuYXBhY2hlLm1hdmVuLnN1cmVmaXJlLmJvb3Rlci5Gb3JrZWRCb290ZXIu bWFpbihGb3JrZWRCb290ZXIuamF2YTo2OSkKCnZhbGlkYXRlSXNvUHJlZml4V2l0aFRyaXBwbGVT bGFzaChvcmcub3ZpcnQuZW5naW5lLmNvcmUuYmxsLlJ1blZtQ29tbWFuZFRlc3QpICBUaW1lIGVs YXBzZWQ6IDAuMDAzIHNlYyAgPDw8IEVSUk9SIQpqYXZhLmxhbmcuTnVsbFBvaW50ZXJFeGNlcHRp b24KCWF0IG9yZy5vdmlydC5lbmdpbmUuY29yZS5ibGwuUnVuVm1Db21tYW5kLmd1ZXN0VG9vbHNW ZXJzaW9uVHJlYXRtZW50KFJ1blZtQ29tbWFuZC5qYXZhOjY4MCkKCWF0IG9yZy5vdmlydC5lbmdp bmUuY29yZS5ibGwuUnVuVm1Db21tYW5kLmNob29zZUNkKFJ1blZtQ29tbWFuZC5qYXZhOjMyNykK CWF0IG9yZy5vdmlydC5lbmdpbmUuY29yZS5ibGwuUnVuVm1Db21tYW5kLmNyZWF0ZVZtKFJ1blZt Q29tbWFuZC5qYXZhOjQ1MSkKCWF0IG9yZy5vdmlydC5lbmdpbmUuY29yZS5ibGwuUnVuVm1Db21t YW5kVGVzdC5jcmVhdGVWbUZvclRlc3RpbmcoUnVuVm1Db21tYW5kVGVzdC5qYXZhOjI3OSkKCWF0 IG9yZy5vdmlydC5lbmdpbmUuY29yZS5ibGwuUnVuVm1Db21tYW5kVGVzdC52YWxpZGF0ZUlzb1By ZWZpeFdpdGhUcmlwcGxlU2xhc2goUnVuVm1Db21tYW5kVGVzdC5qYXZhOjIyOCkKCWF0IHN1bi5y ZWZsZWN0Lk5hdGl2ZU1ldGhvZEFjY2Vzc29ySW1wbC5pbnZva2UwKE5hdGl2ZSBNZXRob2QpCglh dCBzdW4ucmVmbGVjdC5OYXRpdmVNZXRob2RBY2Nlc3NvckltcGwuaW52b2tlKE5hdGl2ZU1ldGhv ZEFjY2Vzc29ySW1wbC5qYXZhOjU3KQoJYXQgc3VuLnJlZmxlY3QuRGVsZWdhdGluZ01ldGhvZEFj Y2Vzc29ySW1wbC5pbnZva2UoRGVsZWdhdGluZ01ldGhvZEFjY2Vzc29ySW1wbC5qYXZhOjQzKQoJ YXQgamF2YS5sYW5nLnJlZmxlY3QuTWV0aG9kLmludm9rZShNZXRob2QuamF2YTo2MDYpCglhdCBv cmcuanVuaXQucnVubmVycy5tb2RlbC5GcmFtZXdvcmtNZXRob2QkMS5ydW5SZWZsZWN0aXZlQ2Fs bChGcmFtZXdvcmtNZXRob2QuamF2YTo0NSkKCWF0IG9yZy5qdW5pdC5pbnRlcm5hbC5ydW5uZXJz Lm1vZGVsLlJlZmxlY3RpdmVDYWxsYWJsZS5ydW4oUmVmbGVjdGl2ZUNhbGxhYmxlLmphdmE6MTUp CglhdCBvcmcuanVuaXQucnVubmVycy5tb2RlbC5GcmFtZXdvcmtNZXRob2QuaW52b2tlRXhwbG9z aXZlbHkoRnJhbWV3b3JrTWV0aG9kLmphdmE6NDIpCglhdCBvcmcuanVuaXQuaW50ZXJuYWwucnVu bmVycy5zdGF0ZW1lbnRzLkludm9rZU1ldGhvZC5ldmFsdWF0ZShJbnZva2VNZXRob2QuamF2YToy MCkKCWF0IG9yZy5qdW5pdC5pbnRlcm5hbC5ydW5uZXJzLnN0YXRlbWVudHMuUnVuQmVmb3Jlcy5l dmFsdWF0ZShSdW5CZWZvcmVzLmphdmE6MjgpCglhdCBvcmcuanVuaXQucnVubmVycy5QYXJlbnRS dW5uZXIucnVuTGVhZihQYXJlbnRSdW5uZXIuamF2YToyNjMpCglhdCBvcmcuanVuaXQucnVubmVy cy5CbG9ja0pVbml0NENsYXNzUnVubmVyLnJ1bkNoaWxkKEJsb2NrSlVuaXQ0Q2xhc3NSdW5uZXIu amF2YTo2OCkKCWF0IG9yZy5qdW5pdC5ydW5uZXJzLkJsb2NrSlVuaXQ0Q2xhc3NSdW5uZXIucnVu Q2hpbGQoQmxvY2tKVW5pdDRDbGFzc1J1bm5lci5qYXZhOjQ3KQoJYXQgb3JnLmp1bml0LnJ1bm5l cnMuUGFyZW50UnVubmVyJDMucnVuKFBhcmVudFJ1bm5lci5qYXZhOjIzMSkKCWF0IG9yZy5qdW5p dC5ydW5uZXJzLlBhcmVudFJ1bm5lciQxLnNjaGVkdWxlKFBhcmVudFJ1bm5lci5qYXZhOjYwKQoJ YXQgb3JnLmp1bml0LnJ1bm5lcnMuUGFyZW50UnVubmVyLnJ1bkNoaWxkcmVuKFBhcmVudFJ1bm5l ci5qYXZhOjIyOSkKCWF0IG9yZy5qdW5pdC5ydW5uZXJzLlBhcmVudFJ1bm5lci5hY2Nlc3MkMDAw KFBhcmVudFJ1bm5lci5qYXZhOjUwKQoJYXQgb3JnLmp1bml0LnJ1bm5lcnMuUGFyZW50UnVubmVy JDIuZXZhbHVhdGUoUGFyZW50UnVubmVyLmphdmE6MjIyKQoJYXQgb3JnLmp1bml0LnJ1bGVzLlRl c3RXYXRjaGVyJDEuZXZhbHVhdGUoVGVzdFdhdGNoZXIuamF2YTo0NykKCWF0IG9yZy5qdW5pdC5y dWxlcy5SdW5SdWxlcy5ldmFsdWF0ZShSdW5SdWxlcy5qYXZhOjE4KQoJYXQgb3JnLmp1bml0LnJ1 bm5lcnMuUGFyZW50UnVubmVyLnJ1bihQYXJlbnRSdW5uZXIuamF2YTozMDApCglhdCBvcmcubW9j a2l0by5pbnRlcm5hbC5ydW5uZXJzLkpVbml0NDVBbmRIaWdoZXJSdW5uZXJJbXBsLnJ1bihKVW5p dDQ1QW5kSGlnaGVyUnVubmVySW1wbC5qYXZhOjM3KQoJYXQgb3JnLm1vY2tpdG8ucnVubmVycy5N b2NraXRvSlVuaXRSdW5uZXIucnVuKE1vY2tpdG9KVW5pdFJ1bm5lci5qYXZhOjYyKQoJYXQgb3Jn LmFwYWNoZS5tYXZlbi5zdXJlZmlyZS5qdW5pdDQuSlVuaXQ0VGVzdFNldC5leGVjdXRlKEpVbml0 NFRlc3RTZXQuamF2YTozNSkKCWF0IG9yZy5hcGFjaGUubWF2ZW4uc3VyZWZpcmUuanVuaXQ0LkpV bml0NFByb3ZpZGVyLmV4ZWN1dGVUZXN0U2V0KEpVbml0NFByb3ZpZGVyLmphdmE6MTE1KQoJYXQg b3JnLmFwYWNoZS5tYXZlbi5zdXJlZmlyZS5qdW5pdDQuSlVuaXQ0UHJvdmlkZXIuaW52b2tlKEpV bml0NFByb3ZpZGVyLmphdmE6OTcpCglhdCBzdW4ucmVmbGVjdC5OYXRpdmVNZXRob2RBY2Nlc3Nv ckltcGwuaW52b2tlMChOYXRpdmUgTWV0aG9kKQoJYXQgc3VuLnJlZmxlY3QuTmF0aXZlTWV0aG9k QWNjZXNzb3JJbXBsLmludm9rZShOYXRpdmVNZXRob2RBY2Nlc3NvckltcGwuamF2YTo1NykKCWF0 IHN1bi5yZWZsZWN0LkRlbGVnYXRpbmdNZXRob2RBY2Nlc3NvckltcGwuaW52b2tlKERlbGVnYXRp bmdNZXRob2RBY2Nlc3NvckltcGwuamF2YTo0MykKCWF0IGphdmEubGFuZy5yZWZsZWN0Lk1ldGhv ZC5pbnZva2UoTWV0aG9kLmphdmE6NjA2KQoJYXQgb3JnLmFwYWNoZS5tYXZlbi5zdXJlZmlyZS5i b290ZXIuUHJvdmlkZXJGYWN0b3J5JENsYXNzTG9hZGVyUHJveHkuaW52b2tlKFByb3ZpZGVyRmFj dG9yeS5qYXZhOjEwMykKCWF0IGNvbS5zdW4ucHJveHkuJFByb3h5MC5pbnZva2UoVW5rbm93biBT b3VyY2UpCglhdCBvcmcuYXBhY2hlLm1hdmVuLnN1cmVmaXJlLmJvb3Rlci5TdXJlZmlyZVN0YXJ0 ZXIuaW52b2tlUHJvdmlkZXIoU3VyZWZpcmVTdGFydGVyLmphdmE6MTUwKQoJYXQgb3JnLmFwYWNo ZS5tYXZlbi5zdXJlZmlyZS5ib290ZXIuU3VyZWZpcmVTdGFydGVyLnJ1blN1aXRlc0luUHJvY2Vz cyhTdXJlZmlyZVN0YXJ0ZXIuamF2YTo5MSkKCWF0IG9yZy5hcGFjaGUubWF2ZW4uc3VyZWZpcmUu Ym9vdGVyLkZvcmtlZEJvb3Rlci5tYWluKEZvcmtlZEJvb3Rlci5qYXZhOjY5KQoKdmFsaWRhdGVJ c29QcmVmaXhJblRoZU1pZGRsZU9mVGhlSW5pdHJkQW5kS2VyZW5lbE5hbWUob3JnLm92aXJ0LmVu Z2luZS5jb3JlLmJsbC5SdW5WbUNvbW1hbmRUZXN0KSAgVGltZSBlbGFwc2VkOiAwLjAwMyBzZWMg IDw8PCBFUlJPUiEKamF2YS5sYW5nLk51bGxQb2ludGVyRXhjZXB0aW9uCglhdCBvcmcub3ZpcnQu ZW5naW5lLmNvcmUuYmxsLlJ1blZtQ29tbWFuZC5ndWVzdFRvb2xzVmVyc2lvblRyZWF0bWVudChS dW5WbUNvbW1hbmQuamF2YTo2ODApCglhdCBvcmcub3ZpcnQuZW5naW5lLmNvcmUuYmxsLlJ1blZt Q29tbWFuZC5jaG9vc2VDZChSdW5WbUNvbW1hbmQuamF2YTozMjcpCglhdCBvcmcub3ZpcnQuZW5n aW5lLmNvcmUuYmxsLlJ1blZtQ29tbWFuZC5jcmVhdGVWbShSdW5WbUNvbW1hbmQuamF2YTo0NTEp CglhdCBvcmcub3ZpcnQuZW5naW5lLmNvcmUuYmxsLlJ1blZtQ29tbWFuZFRlc3QuY3JlYXRlVm1G b3JUZXN0aW5nKFJ1blZtQ29tbWFuZFRlc3QuamF2YToyNzkpCglhdCBvcmcub3ZpcnQuZW5naW5l LmNvcmUuYmxsLlJ1blZtQ29tbWFuZFRlc3QudmFsaWRhdGVJc29QcmVmaXhJblRoZU1pZGRsZU9m VGhlSW5pdHJkQW5kS2VyZW5lbE5hbWUoUnVuVm1Db21tYW5kVGVzdC5qYXZhOjIzNikKCWF0IHN1 bi5yZWZsZWN0Lk5hdGl2ZU1ldGhvZEFjY2Vzc29ySW1wbC5pbnZva2UwKE5hdGl2ZSBNZXRob2Qp CglhdCBzdW4ucmVmbGVjdC5OYXRpdmVNZXRob2RBY2Nlc3NvckltcGwuaW52b2tlKE5hdGl2ZU1l dGhvZEFjY2Vzc29ySW1wbC5qYXZhOjU3KQoJYXQgc3VuLnJlZmxlY3QuRGVsZWdhdGluZ01ldGhv ZEFjY2Vzc29ySW1wbC5pbnZva2UoRGVsZWdhdGluZ01ldGhvZEFjY2Vzc29ySW1wbC5qYXZhOjQz KQoJYXQgamF2YS5sYW5nLnJlZmxlY3QuTWV0aG9kLmludm9rZShNZXRob2QuamF2YTo2MDYpCglh dCBvcmcuanVuaXQucnVubmVycy5tb2RlbC5GcmFtZXdvcmtNZXRob2QkMS5ydW5SZWZsZWN0aXZl Q2FsbChGcmFtZXdvcmtNZXRob2QuamF2YTo0NSkKCWF0IG9yZy5qdW5pdC5pbnRlcm5hbC5ydW5u ZXJzLm1vZGVsLlJlZmxlY3RpdmVDYWxsYWJsZS5ydW4oUmVmbGVjdGl2ZUNhbGxhYmxlLmphdmE6 MTUpCglhdCBvcmcuanVuaXQucnVubmVycy5tb2RlbC5GcmFtZXdvcmtNZXRob2QuaW52b2tlRXhw bG9zaXZlbHkoRnJhbWV3b3JrTWV0aG9kLmphdmE6NDIpCglhdCBvcmcuanVuaXQuaW50ZXJuYWwu cnVubmVycy5zdGF0ZW1lbnRzLkludm9rZU1ldGhvZC5ldmFsdWF0ZShJbnZva2VNZXRob2QuamF2 YToyMCkKCWF0IG9yZy5qdW5pdC5pbnRlcm5hbC5ydW5uZXJzLnN0YXRlbWVudHMuUnVuQmVmb3Jl cy5ldmFsdWF0ZShSdW5CZWZvcmVzLmphdmE6MjgpCglhdCBvcmcuanVuaXQucnVubmVycy5QYXJl bnRSdW5uZXIucnVuTGVhZihQYXJlbnRSdW5uZXIuamF2YToyNjMpCglhdCBvcmcuanVuaXQucnVu bmVycy5CbG9ja0pVbml0NENsYXNzUnVubmVyLnJ1bkNoaWxkKEJsb2NrSlVuaXQ0Q2xhc3NSdW5u ZXIuamF2YTo2OCkKCWF0IG9yZy5qdW5pdC5ydW5uZXJzLkJsb2NrSlVuaXQ0Q2xhc3NSdW5uZXIu cnVuQ2hpbGQoQmxvY2tKVW5pdDRDbGFzc1J1bm5lci5qYXZhOjQ3KQoJYXQgb3JnLmp1bml0LnJ1 bm5lcnMuUGFyZW50UnVubmVyJDMucnVuKFBhcmVudFJ1bm5lci5qYXZhOjIzMSkKCWF0IG9yZy5q dW5pdC5ydW5uZXJzLlBhcmVudFJ1bm5lciQxLnNjaGVkdWxlKFBhcmVudFJ1bm5lci5qYXZhOjYw KQoJYXQgb3JnLmp1bml0LnJ1bm5lcnMuUGFyZW50UnVubmVyLnJ1bkNoaWxkcmVuKFBhcmVudFJ1 bm5lci5qYXZhOjIyOSkKCWF0IG9yZy5qdW5pdC5ydW5uZXJzLlBhcmVudFJ1bm5lci5hY2Nlc3Mk MDAwKFBhcmVudFJ1bm5lci5qYXZhOjUwKQoJYXQgb3JnLmp1bml0LnJ1bm5lcnMuUGFyZW50UnVu bmVyJDIuZXZhbHVhdGUoUGFyZW50UnVubmVyLmphdmE6MjIyKQoJYXQgb3JnLmp1bml0LnJ1bGVz LlRlc3RXYXRjaGVyJDEuZXZhbHVhdGUoVGVzdFdhdGNoZXIuamF2YTo0NykKCWF0IG9yZy5qdW5p dC5ydWxlcy5SdW5SdWxlcy5ldmFsdWF0ZShSdW5SdWxlcy5qYXZhOjE4KQoJYXQgb3JnLmp1bml0 LnJ1bm5lcnMuUGFyZW50UnVubmVyLnJ1bihQYXJlbnRSdW5uZXIuamF2YTozMDApCglhdCBvcmcu bW9ja2l0by5pbnRlcm5hbC5ydW5uZXJzLkpVbml0NDVBbmRIaWdoZXJSdW5uZXJJbXBsLnJ1bihK VW5pdDQ1QW5kSGlnaGVyUnVubmVySW1wbC5qYXZhOjM3KQoJYXQgb3JnLm1vY2tpdG8ucnVubmVy cy5Nb2NraXRvSlVuaXRSdW5uZXIucnVuKE1vY2tpdG9KVW5pdFJ1bm5lci5qYXZhOjYyKQoJYXQg b3JnLmFwYWNoZS5tYXZlbi5zdXJlZmlyZS5qdW5pdDQuSlVuaXQ0VGVzdFNldC5leGVjdXRlKEpV bml0NFRlc3RTZXQuamF2YTozNSkKCWF0IG9yZy5hcGFjaGUubWF2ZW4uc3VyZWZpcmUuanVuaXQ0 LkpVbml0NFByb3ZpZGVyLmV4ZWN1dGVUZXN0U2V0KEpVbml0NFByb3ZpZGVyLmphdmE6MTE1KQoJ YXQgb3JnLmFwYWNoZS5tYXZlbi5zdXJlZmlyZS5qdW5pdDQuSlVuaXQ0UHJvdmlkZXIuaW52b2tl KEpVbml0NFByb3ZpZGVyLmphdmE6OTcpCglhdCBzdW4ucmVmbGVjdC5OYXRpdmVNZXRob2RBY2Nl c3NvckltcGwuaW52b2tlMChOYXRpdmUgTWV0aG9kKQoJYXQgc3VuLnJlZmxlY3QuTmF0aXZlTWV0 aG9kQWNjZXNzb3JJbXBsLmludm9rZShOYXRpdmVNZXRob2RBY2Nlc3NvckltcGwuamF2YTo1NykK CWF0IHN1bi5yZWZsZWN0LkRlbGVnYXRpbmdNZXRob2RBY2Nlc3NvckltcGwuaW52b2tlKERlbGVn YXRpbmdNZXRob2RBY2Nlc3NvckltcGwuamF2YTo0MykKCWF0IGphdmEubGFuZy5yZWZsZWN0Lk1l dGhvZC5pbnZva2UoTWV0aG9kLmphdmE6NjA2KQoJYXQgb3JnLmFwYWNoZS5tYXZlbi5zdXJlZmly ZS5ib290ZXIuUHJvdmlkZXJGYWN0b3J5JENsYXNzTG9hZGVyUHJveHkuaW52b2tlKFByb3ZpZGVy RmFjdG9yeS5qYXZhOjEwMykKCWF0IGNvbS5zdW4ucHJveHkuJFByb3h5MC5pbnZva2UoVW5rbm93 biBTb3VyY2UpCglhdCBvcmcuYXBhY2hlLm1hdmVuLnN1cmVmaXJlLmJvb3Rlci5TdXJlZmlyZVN0 YXJ0ZXIuaW52b2tlUHJvdmlkZXIoU3VyZWZpcmVTdGFydGVyLmphdmE6MTUwKQoJYXQgb3JnLmFw YWNoZS5tYXZlbi5zdXJlZmlyZS5ib290ZXIuU3VyZWZpcmVTdGFydGVyLnJ1blN1aXRlc0luUHJv Y2VzcyhTdXJlZmlyZVN0YXJ0ZXIuamF2YTo5MSkKCWF0IG9yZy5hcGFjaGUubWF2ZW4uc3VyZWZp cmUuYm9vdGVyLkZvcmtlZEJvb3Rlci5tYWluKEZvcmtlZEJvb3Rlci5qYXZhOjY5KQoKdmFsaWRh dGVJbml0cmRXaXRoU2xhc2hPbmx5KG9yZy5vdmlydC5lbmdpbmUuY29yZS5ibGwuUnVuVm1Db21t YW5kVGVzdCkgIFRpbWUgZWxhcHNlZDogMC4wMDMgc2VjICA8PDwgRVJST1IhCmphdmEubGFuZy5O dWxsUG9pbnRlckV4Y2VwdGlvbgoJYXQgb3JnLm92aXJ0LmVuZ2luZS5jb3JlLmJsbC5SdW5WbUNv bW1hbmQuZ3Vlc3RUb29sc1ZlcnNpb25UcmVhdG1lbnQoUnVuVm1Db21tYW5kLmphdmE6NjgwKQoJ YXQgb3JnLm92aXJ0LmVuZ2luZS5jb3JlLmJsbC5SdW5WbUNvbW1hbmQuY2hvb3NlQ2QoUnVuVm1D b21tYW5kLmphdmE6MzI3KQoJYXQgb3JnLm92aXJ0LmVuZ2luZS5jb3JlLmJsbC5SdW5WbUNvbW1h bmQuY3JlYXRlVm0oUnVuVm1Db21tYW5kLmphdmE6NDUxKQoJYXQgb3JnLm92aXJ0LmVuZ2luZS5j b3JlLmJsbC5SdW5WbUNvbW1hbmRUZXN0LmNyZWF0ZVZtRm9yVGVzdGluZyhSdW5WbUNvbW1hbmRU ZXN0LmphdmE6Mjc5KQoJYXQgb3JnLm92aXJ0LmVuZ2luZS5jb3JlLmJsbC5SdW5WbUNvbW1hbmRU ZXN0LnZhbGlkYXRlSW5pdHJkV2l0aFNsYXNoT25seShSdW5WbUNvbW1hbmRUZXN0LmphdmE6MjQ0 KQoJYXQgc3VuLnJlZmxlY3QuTmF0aXZlTWV0aG9kQWNjZXNzb3JJbXBsLmludm9rZTAoTmF0aXZl IE1ldGhvZCkKCWF0IHN1bi5yZWZsZWN0Lk5hdGl2ZU1ldGhvZEFjY2Vzc29ySW1wbC5pbnZva2Uo TmF0aXZlTWV0aG9kQWNjZXNzb3JJbXBsLmphdmE6NTcpCglhdCBzdW4ucmVmbGVjdC5EZWxlZ2F0 aW5nTWV0aG9kQWNjZXNzb3JJbXBsLmludm9rZShEZWxlZ2F0aW5nTWV0aG9kQWNjZXNzb3JJbXBs LmphdmE6NDMpCglhdCBqYXZhLmxhbmcucmVmbGVjdC5NZXRob2QuaW52b2tlKE1ldGhvZC5qYXZh OjYwNikKCWF0IG9yZy5qdW5pdC5ydW5uZXJzLm1vZGVsLkZyYW1ld29ya01ldGhvZCQxLnJ1blJl ZmxlY3RpdmVDYWxsKEZyYW1ld29ya01ldGhvZC5qYXZhOjQ1KQoJYXQgb3JnLmp1bml0LmludGVy bmFsLnJ1bm5lcnMubW9kZWwuUmVmbGVjdGl2ZUNhbGxhYmxlLnJ1bihSZWZsZWN0aXZlQ2FsbGFi bGUuamF2YToxNSkKCWF0IG9yZy5qdW5pdC5ydW5uZXJzLm1vZGVsLkZyYW1ld29ya01ldGhvZC5p bnZva2VFeHBsb3NpdmVseShGcmFtZXdvcmtNZXRob2QuamF2YTo0MikKCWF0IG9yZy5qdW5pdC5p bnRlcm5hbC5ydW5uZXJzLnN0YXRlbWVudHMuSW52b2tlTWV0aG9kLmV2YWx1YXRlKEludm9rZU1l dGhvZC5qYXZhOjIwKQoJYXQgb3JnLmp1bml0LmludGVybmFsLnJ1bm5lcnMuc3RhdGVtZW50cy5S dW5CZWZvcmVzLmV2YWx1YXRlKFJ1bkJlZm9yZXMuamF2YToyOCkKCWF0IG9yZy5qdW5pdC5ydW5u ZXJzLlBhcmVudFJ1bm5lci5ydW5MZWFmKFBhcmVudFJ1bm5lci5qYXZhOjI2MykKCWF0IG9yZy5q dW5pdC5ydW5uZXJzLkJsb2NrSlVuaXQ0Q2xhc3NSdW5uZXIucnVuQ2hpbGQoQmxvY2tKVW5pdDRD bGFzc1J1bm5lci5qYXZhOjY4KQoJYXQgb3JnLmp1bml0LnJ1bm5lcnMuQmxvY2tKVW5pdDRDbGFz c1J1bm5lci5ydW5DaGlsZChCbG9ja0pVbml0NENsYXNzUnVubmVyLmphdmE6NDcpCglhdCBvcmcu anVuaXQucnVubmVycy5QYXJlbnRSdW5uZXIkMy5ydW4oUGFyZW50UnVubmVyLmphdmE6MjMxKQoJ YXQgb3JnLmp1bml0LnJ1bm5lcnMuUGFyZW50UnVubmVyJDEuc2NoZWR1bGUoUGFyZW50UnVubmVy LmphdmE6NjApCglhdCBvcmcuanVuaXQucnVubmVycy5QYXJlbnRSdW5uZXIucnVuQ2hpbGRyZW4o UGFyZW50UnVubmVyLmphdmE6MjI5KQoJYXQgb3JnLmp1bml0LnJ1bm5lcnMuUGFyZW50UnVubmVy LmFjY2VzcyQwMDAoUGFyZW50UnVubmVyLmphdmE6NTApCglhdCBvcmcuanVuaXQucnVubmVycy5Q YXJlbnRSdW5uZXIkMi5ldmFsdWF0ZShQYXJlbnRSdW5uZXIuamF2YToyMjIpCglhdCBvcmcuanVu aXQucnVsZXMuVGVzdFdhdGNoZXIkMS5ldmFsdWF0ZShUZXN0V2F0Y2hlci5qYXZhOjQ3KQoJYXQg b3JnLmp1bml0LnJ1bGVzLlJ1blJ1bGVzLmV2YWx1YXRlKFJ1blJ1bGVzLmphdmE6MTgpCglhdCBv cmcuanVuaXQucnVubmVycy5QYXJlbnRSdW5uZXIucnVuKFBhcmVudFJ1bm5lci5qYXZhOjMwMCkK CWF0IG9yZy5tb2NraXRvLmludGVybmFsLnJ1bm5lcnMuSlVuaXQ0NUFuZEhpZ2hlclJ1bm5lcklt cGwucnVuKEpVbml0NDVBbmRIaWdoZXJSdW5uZXJJbXBsLmphdmE6MzcpCglhdCBvcmcubW9ja2l0 by5ydW5uZXJzLk1vY2tpdG9KVW5pdFJ1bm5lci5ydW4oTW9ja2l0b0pVbml0UnVubmVyLmphdmE6 NjIpCglhdCBvcmcuYXBhY2hlLm1hdmVuLnN1cmVmaXJlLmp1bml0NC5KVW5pdDRUZXN0U2V0LmV4 ZWN1dGUoSlVuaXQ0VGVzdFNldC5qYXZhOjM1KQoJYXQgb3JnLmFwYWNoZS5tYXZlbi5zdXJlZmly ZS5qdW5pdDQuSlVuaXQ0UHJvdmlkZXIuZXhlY3V0ZVRlc3RTZXQoSlVuaXQ0UHJvdmlkZXIuamF2 YToxMTUpCglhdCBvcmcuYXBhY2hlLm1hdmVuLnN1cmVmaXJlLmp1bml0NC5KVW5pdDRQcm92aWRl ci5pbnZva2UoSlVuaXQ0UHJvdmlkZXIuamF2YTo5NykKCWF0IHN1bi5yZWZsZWN0Lk5hdGl2ZU1l dGhvZEFjY2Vzc29ySW1wbC5pbnZva2UwKE5hdGl2ZSBNZXRob2QpCglhdCBzdW4ucmVmbGVjdC5O YXRpdmVNZXRob2RBY2Nlc3NvckltcGwuaW52b2tlKE5hdGl2ZU1ldGhvZEFjY2Vzc29ySW1wbC5q YXZhOjU3KQoJYXQgc3VuLnJlZmxlY3QuRGVsZWdhdGluZ01ldGhvZEFjY2Vzc29ySW1wbC5pbnZv a2UoRGVsZWdhdGluZ01ldGhvZEFjY2Vzc29ySW1wbC5qYXZhOjQzKQoJYXQgamF2YS5sYW5nLnJl ZmxlY3QuTWV0aG9kLmludm9rZShNZXRob2QuamF2YTo2MDYpCglhdCBvcmcuYXBhY2hlLm1hdmVu LnN1cmVmaXJlLmJvb3Rlci5Qcm92aWRlckZhY3RvcnkkQ2xhc3NMb2FkZXJQcm94eS5pbnZva2Uo UHJvdmlkZXJGYWN0b3J5LmphdmE6MTAzKQoJYXQgY29tLnN1bi5wcm94eS4kUHJveHkwLmludm9r ZShVbmtub3duIFNvdXJjZSkKCWF0IG9yZy5hcGFjaGUubWF2ZW4uc3VyZWZpcmUuYm9vdGVyLlN1 cmVmaXJlU3RhcnRlci5pbnZva2VQcm92aWRlcihTdXJlZmlyZVN0YXJ0ZXIuamF2YToxNTApCglh dCBvcmcuYXBhY2hlLm1hdmVuLnN1cmVmaXJlLmJvb3Rlci5TdXJlZmlyZVN0YXJ0ZXIucnVuU3Vp dGVzSW5Qcm9jZXNzKFN1cmVmaXJlU3RhcnRlci5qYXZhOjkxKQoJYXQgb3JnLmFwYWNoZS5tYXZl bi5zdXJlZmlyZS5ib290ZXIuRm9ya2VkQm9vdGVyLm1haW4oRm9ya2VkQm9vdGVyLmphdmE6Njkp Cgp2YWxpZGF0ZUlzb1ByZWZpeFdpdGhCYWNrU2xhc2gob3JnLm92aXJ0LmVuZ2luZS5jb3JlLmJs bC5SdW5WbUNvbW1hbmRUZXN0KSAgVGltZSBlbGFwc2VkOiAwLjAwMyBzZWMgIDw8PCBFUlJPUiEK amF2YS5sYW5nLk51bGxQb2ludGVyRXhjZXB0aW9uCglhdCBvcmcub3ZpcnQuZW5naW5lLmNvcmUu YmxsLlJ1blZtQ29tbWFuZC5ndWVzdFRvb2xzVmVyc2lvblRyZWF0bWVudChSdW5WbUNvbW1hbmQu amF2YTo2ODApCglhdCBvcmcub3ZpcnQuZW5naW5lLmNvcmUuYmxsLlJ1blZtQ29tbWFuZC5jaG9v c2VDZChSdW5WbUNvbW1hbmQuamF2YTozMjcpCglhdCBvcmcub3ZpcnQuZW5naW5lLmNvcmUuYmxs LlJ1blZtQ29tbWFuZC5jcmVhdGVWbShSdW5WbUNvbW1hbmQuamF2YTo0NTEpCglhdCBvcmcub3Zp cnQuZW5naW5lLmNvcmUuYmxsLlJ1blZtQ29tbWFuZFRlc3QuY3JlYXRlVm1Gb3JUZXN0aW5nKFJ1 blZtQ29tbWFuZFRlc3QuamF2YToyNzkpCglhdCBvcmcub3ZpcnQuZW5naW5lLmNvcmUuYmxsLlJ1 blZtQ29tbWFuZFRlc3QudmFsaWRhdGVJc29QcmVmaXhXaXRoQmFja1NsYXNoKFJ1blZtQ29tbWFu ZFRlc3QuamF2YToyNTEpCglhdCBzdW4ucmVmbGVjdC5OYXRpdmVNZXRob2RBY2Nlc3NvckltcGwu aW52b2tlMChOYXRpdmUgTWV0aG9kKQoJYXQgc3VuLnJlZmxlY3QuTmF0aXZlTWV0aG9kQWNjZXNz b3JJbXBsLmludm9rZShOYXRpdmVNZXRob2RBY2Nlc3NvckltcGwuamF2YTo1NykKCWF0IHN1bi5y ZWZsZWN0LkRlbGVnYXRpbmdNZXRob2RBY2Nlc3NvckltcGwuaW52b2tlKERlbGVnYXRpbmdNZXRo b2RBY2Nlc3NvckltcGwuamF2YTo0MykKCWF0IGphdmEubGFuZy5yZWZsZWN0Lk1ldGhvZC5pbnZv a2UoTWV0aG9kLmphdmE6NjA2KQoJYXQgb3JnLmp1bml0LnJ1bm5lcnMubW9kZWwuRnJhbWV3b3Jr TWV0aG9kJDEucnVuUmVmbGVjdGl2ZUNhbGwoRnJhbWV3b3JrTWV0aG9kLmphdmE6NDUpCglhdCBv cmcuanVuaXQuaW50ZXJuYWwucnVubmVycy5tb2RlbC5SZWZsZWN0aXZlQ2FsbGFibGUucnVuKFJl ZmxlY3RpdmVDYWxsYWJsZS5qYXZhOjE1KQoJYXQgb3JnLmp1bml0LnJ1bm5lcnMubW9kZWwuRnJh bWV3b3JrTWV0aG9kLmludm9rZUV4cGxvc2l2ZWx5KEZyYW1ld29ya01ldGhvZC5qYXZhOjQyKQoJ YXQgb3JnLmp1bml0LmludGVybmFsLnJ1bm5lcnMuc3RhdGVtZW50cy5JbnZva2VNZXRob2QuZXZh bHVhdGUoSW52b2tlTWV0aG9kLmphdmE6MjApCglhdCBvcmcuanVuaXQuaW50ZXJuYWwucnVubmVy cy5zdGF0ZW1lbnRzLlJ1bkJlZm9yZXMuZXZhbHVhdGUoUnVuQmVmb3Jlcy5qYXZhOjI4KQoJYXQg b3JnLmp1bml0LnJ1bm5lcnMuUGFyZW50UnVubmVyLnJ1bkxlYWYoUGFyZW50UnVubmVyLmphdmE6 MjYzKQoJYXQgb3JnLmp1bml0LnJ1bm5lcnMuQmxvY2tKVW5pdDRDbGFzc1J1bm5lci5ydW5DaGls ZChCbG9ja0pVbml0NENsYXNzUnVubmVyLmphdmE6NjgpCglhdCBvcmcuanVuaXQucnVubmVycy5C bG9ja0pVbml0NENsYXNzUnVubmVyLnJ1bkNoaWxkKEJsb2NrSlVuaXQ0Q2xhc3NSdW5uZXIuamF2 YTo0NykKCWF0IG9yZy5qdW5pdC5ydW5uZXJzLlBhcmVudFJ1bm5lciQzLnJ1bihQYXJlbnRSdW5u ZXIuamF2YToyMzEpCglhdCBvcmcuanVuaXQucnVubmVycy5QYXJlbnRSdW5uZXIkMS5zY2hlZHVs ZShQYXJlbnRSdW5uZXIuamF2YTo2MCkKCWF0IG9yZy5qdW5pdC5ydW5uZXJzLlBhcmVudFJ1bm5l ci5ydW5DaGlsZHJlbihQYXJlbnRSdW5uZXIuamF2YToyMjkpCglhdCBvcmcuanVuaXQucnVubmVy cy5QYXJlbnRSdW5uZXIuYWNjZXNzJDAwMChQYXJlbnRSdW5uZXIuamF2YTo1MCkKCWF0IG9yZy5q dW5pdC5ydW5uZXJzLlBhcmVudFJ1bm5lciQyLmV2YWx1YXRlKFBhcmVudFJ1bm5lci5qYXZhOjIy MikKCWF0IG9yZy5qdW5pdC5ydWxlcy5UZXN0V2F0Y2hlciQxLmV2YWx1YXRlKFRlc3RXYXRjaGVy LmphdmE6NDcpCglhdCBvcmcuanVuaXQucnVsZXMuUnVuUnVsZXMuZXZhbHVhdGUoUnVuUnVsZXMu amF2YToxOCkKCWF0IG9yZy5qdW5pdC5ydW5uZXJzLlBhcmVudFJ1bm5lci5ydW4oUGFyZW50UnVu bmVyLmphdmE6MzAwKQoJYXQgb3JnLm1vY2tpdG8uaW50ZXJuYWwucnVubmVycy5KVW5pdDQ1QW5k SGlnaGVyUnVubmVySW1wbC5ydW4oSlVuaXQ0NUFuZEhpZ2hlclJ1bm5lckltcGwuamF2YTozNykK CWF0IG9yZy5tb2NraXRvLnJ1bm5lcnMuTW9ja2l0b0pVbml0UnVubmVyLnJ1bihNb2NraXRvSlVu aXRSdW5uZXIuamF2YTo2MikKCWF0IG9yZy5hcGFjaGUubWF2ZW4uc3VyZWZpcmUuanVuaXQ0LkpV bml0NFRlc3RTZXQuZXhlY3V0ZShKVW5pdDRUZXN0U2V0LmphdmE6MzUpCglhdCBvcmcuYXBhY2hl Lm1hdmVuLnN1cmVmaXJlLmp1bml0NC5KVW5pdDRQcm92aWRlci5leGVjdXRlVGVzdFNldChKVW5p dDRQcm92aWRlci5qYXZhOjExNSkKCWF0IG9yZy5hcGFjaGUubWF2ZW4uc3VyZWZpcmUuanVuaXQ0 LkpVbml0NFByb3ZpZGVyLmludm9rZShKVW5pdDRQcm92aWRlci5qYXZhOjk3KQoJYXQgc3VuLnJl ZmxlY3QuTmF0aXZlTWV0aG9kQWNjZXNzb3JJbXBsLmludm9rZTAoTmF0aXZlIE1ldGhvZCkKCWF0 IHN1bi5yZWZsZWN0Lk5hdGl2ZU1ldGhvZEFjY2Vzc29ySW1wbC5pbnZva2UoTmF0aXZlTWV0aG9k QWNjZXNzb3JJbXBsLmphdmE6NTcpCglhdCBzdW4ucmVmbGVjdC5EZWxlZ2F0aW5nTWV0aG9kQWNj ZXNzb3JJbXBsLmludm9rZShEZWxlZ2F0aW5nTWV0aG9kQWNjZXNzb3JJbXBsLmphdmE6NDMpCglh dCBqYXZhLmxhbmcucmVmbGVjdC5NZXRob2QuaW52b2tlKE1ldGhvZC5qYXZhOjYwNikKCWF0IG9y Zy5hcGFjaGUubWF2ZW4uc3VyZWZpcmUuYm9vdGVyLlByb3ZpZGVyRmFjdG9yeSRDbGFzc0xvYWRl clByb3h5Lmludm9rZShQcm92aWRlckZhY3RvcnkuamF2YToxMDMpCglhdCBjb20uc3VuLnByb3h5 LiRQcm94eTAuaW52b2tlKFVua25vd24gU291cmNlKQoJYXQgb3JnLmFwYWNoZS5tYXZlbi5zdXJl ZmlyZS5ib290ZXIuU3VyZWZpcmVTdGFydGVyLmludm9rZVByb3ZpZGVyKFN1cmVmaXJlU3RhcnRl ci5qYXZhOjE1MCkKCWF0IG9yZy5hcGFjaGUubWF2ZW4uc3VyZWZpcmUuYm9vdGVyLlN1cmVmaXJl U3RhcnRlci5ydW5TdWl0ZXNJblByb2Nlc3MoU3VyZWZpcmVTdGFydGVyLmphdmE6OTEpCglhdCBv cmcuYXBhY2hlLm1hdmVuLnN1cmVmaXJlLmJvb3Rlci5Gb3JrZWRCb290ZXIubWFpbihGb3JrZWRC b290ZXIuamF2YTo2OSkKCnZhbGlkYXRlQm9vdFByZWZpeEZvckluaXRyZEFuZEtlcm5lbEltYWdl KG9yZy5vdmlydC5lbmdpbmUuY29yZS5ibGwuUnVuVm1Db21tYW5kVGVzdCkgIFRpbWUgZWxhcHNl ZDogMC4wMDMgc2VjICA8PDwgRVJST1IhCmphdmEubGFuZy5OdWxsUG9pbnRlckV4Y2VwdGlvbgoJ YXQgb3JnLm92aXJ0LmVuZ2luZS5jb3JlLmJsbC5SdW5WbUNvbW1hbmQuZ3Vlc3RUb29sc1ZlcnNp b25UcmVhdG1lbnQoUnVuVm1Db21tYW5kLmphdmE6NjgwKQoJYXQgb3JnLm92aXJ0LmVuZ2luZS5j b3JlLmJsbC5SdW5WbUNvbW1hbmQuY2hvb3NlQ2QoUnVuVm1Db21tYW5kLmphdmE6MzI3KQoJYXQg b3JnLm92aXJ0LmVuZ2luZS5jb3JlLmJsbC5SdW5WbUNvbW1hbmQuY3JlYXRlVm0oUnVuVm1Db21t YW5kLmphdmE6NDUxKQoJYXQgb3JnLm92aXJ0LmVuZ2luZS5jb3JlLmJsbC5SdW5WbUNvbW1hbmRU ZXN0LmNyZWF0ZVZtRm9yVGVzdGluZyhSdW5WbUNvbW1hbmRUZXN0LmphdmE6Mjc5KQoJYXQgb3Jn Lm92aXJ0LmVuZ2luZS5jb3JlLmJsbC5SdW5WbUNvbW1hbmRUZXN0LnZhbGlkYXRlQm9vdFByZWZp eEZvckluaXRyZEFuZEtlcm5lbEltYWdlKFJ1blZtQ29tbWFuZFRlc3QuamF2YToyNTkpCglhdCBz dW4ucmVmbGVjdC5OYXRpdmVNZXRob2RBY2Nlc3NvckltcGwuaW52b2tlMChOYXRpdmUgTWV0aG9k KQoJYXQgc3VuLnJlZmxlY3QuTmF0aXZlTWV0aG9kQWNjZXNzb3JJbXBsLmludm9rZShOYXRpdmVN ZXRob2RBY2Nlc3NvckltcGwuamF2YTo1NykKCWF0IHN1bi5yZWZsZWN0LkRlbGVnYXRpbmdNZXRo b2RBY2Nlc3NvckltcGwuaW52b2tlKERlbGVnYXRpbmdNZXRob2RBY2Nlc3NvckltcGwuamF2YTo0 MykKCWF0IGphdmEubGFuZy5yZWZsZWN0Lk1ldGhvZC5pbnZva2UoTWV0aG9kLmphdmE6NjA2KQoJ YXQgb3JnLmp1bml0LnJ1bm5lcnMubW9kZWwuRnJhbWV3b3JrTWV0aG9kJDEucnVuUmVmbGVjdGl2 ZUNhbGwoRnJhbWV3b3JrTWV0aG9kLmphdmE6NDUpCglhdCBvcmcuanVuaXQuaW50ZXJuYWwucnVu bmVycy5tb2RlbC5SZWZsZWN0aXZlQ2FsbGFibGUucnVuKFJlZmxlY3RpdmVDYWxsYWJsZS5qYXZh OjE1KQoJYXQgb3JnLmp1bml0LnJ1bm5lcnMubW9kZWwuRnJhbWV3b3JrTWV0aG9kLmludm9rZUV4 cGxvc2l2ZWx5KEZyYW1ld29ya01ldGhvZC5qYXZhOjQyKQoJYXQgb3JnLmp1bml0LmludGVybmFs LnJ1bm5lcnMuc3RhdGVtZW50cy5JbnZva2VNZXRob2QuZXZhbHVhdGUoSW52b2tlTWV0aG9kLmph dmE6MjApCglhdCBvcmcuanVuaXQuaW50ZXJuYWwucnVubmVycy5zdGF0ZW1lbnRzLlJ1bkJlZm9y ZXMuZXZhbHVhdGUoUnVuQmVmb3Jlcy5qYXZhOjI4KQoJYXQgb3JnLmp1bml0LnJ1bm5lcnMuUGFy ZW50UnVubmVyLnJ1bkxlYWYoUGFyZW50UnVubmVyLmphdmE6MjYzKQoJYXQgb3JnLmp1bml0LnJ1 bm5lcnMuQmxvY2tKVW5pdDRDbGFzc1J1bm5lci5ydW5DaGlsZChCbG9ja0pVbml0NENsYXNzUnVu bmVyLmphdmE6NjgpCglhdCBvcmcuanVuaXQucnVubmVycy5CbG9ja0pVbml0NENsYXNzUnVubmVy LnJ1bkNoaWxkKEJsb2NrSlVuaXQ0Q2xhc3NSdW5uZXIuamF2YTo0NykKCWF0IG9yZy5qdW5pdC5y dW5uZXJzLlBhcmVudFJ1bm5lciQzLnJ1bihQYXJlbnRSdW5uZXIuamF2YToyMzEpCglhdCBvcmcu anVuaXQucnVubmVycy5QYXJlbnRSdW5uZXIkMS5zY2hlZHVsZShQYXJlbnRSdW5uZXIuamF2YTo2 MCkKCWF0IG9yZy5qdW5pdC5ydW5uZXJzLlBhcmVudFJ1bm5lci5ydW5DaGlsZHJlbihQYXJlbnRS dW5uZXIuamF2YToyMjkpCglhdCBvcmcuanVuaXQucnVubmVycy5QYXJlbnRSdW5uZXIuYWNjZXNz JDAwMChQYXJlbnRSdW5uZXIuamF2YTo1MCkKCWF0IG9yZy5qdW5pdC5ydW5uZXJzLlBhcmVudFJ1 bm5lciQyLmV2YWx1YXRlKFBhcmVudFJ1bm5lci5qYXZhOjIyMikKCWF0IG9yZy5qdW5pdC5ydWxl cy5UZXN0V2F0Y2hlciQxLmV2YWx1YXRlKFRlc3RXYXRjaGVyLmphdmE6NDcpCglhdCBvcmcuanVu aXQucnVsZXMuUnVuUnVsZXMuZXZhbHVhdGUoUnVuUnVsZXMuamF2YToxOCkKCWF0IG9yZy5qdW5p dC5ydW5uZXJzLlBhcmVudFJ1bm5lci5ydW4oUGFyZW50UnVubmVyLmphdmE6MzAwKQoJYXQgb3Jn Lm1vY2tpdG8uaW50ZXJuYWwucnVubmVycy5KVW5pdDQ1QW5kSGlnaGVyUnVubmVySW1wbC5ydW4o SlVuaXQ0NUFuZEhpZ2hlclJ1bm5lckltcGwuamF2YTozNykKCWF0IG9yZy5tb2NraXRvLnJ1bm5l cnMuTW9ja2l0b0pVbml0UnVubmVyLnJ1bihNb2NraXRvSlVuaXRSdW5uZXIuamF2YTo2MikKCWF0 IG9yZy5hcGFjaGUubWF2ZW4uc3VyZWZpcmUuanVuaXQ0LkpVbml0NFRlc3RTZXQuZXhlY3V0ZShK VW5pdDRUZXN0U2V0LmphdmE6MzUpCglhdCBvcmcuYXBhY2hlLm1hdmVuLnN1cmVmaXJlLmp1bml0 NC5KVW5pdDRQcm92aWRlci5leGVjdXRlVGVzdFNldChKVW5pdDRQcm92aWRlci5qYXZhOjExNSkK CWF0IG9yZy5hcGFjaGUubWF2ZW4uc3VyZWZpcmUuanVuaXQ0LkpVbml0NFByb3ZpZGVyLmludm9r ZShKVW5pdDRQcm92aWRlci5qYXZhOjk3KQoJYXQgc3VuLnJlZmxlY3QuTmF0aXZlTWV0aG9kQWNj ZXNzb3JJbXBsLmludm9rZTAoTmF0aXZlIE1ldGhvZCkKCWF0IHN1bi5yZWZsZWN0Lk5hdGl2ZU1l dGhvZEFjY2Vzc29ySW1wbC5pbnZva2UoTmF0aXZlTWV0aG9kQWNjZXNzb3JJbXBsLmphdmE6NTcp CglhdCBzdW4ucmVmbGVjdC5EZWxlZ2F0aW5nTWV0aG9kQWNjZXNzb3JJbXBsLmludm9rZShEZWxl Z2F0aW5nTWV0aG9kQWNjZXNzb3JJbXBsLmphdmE6NDMpCglhdCBqYXZhLmxhbmcucmVmbGVjdC5N ZXRob2QuaW52b2tlKE1ldGhvZC5qYXZhOjYwNikKCWF0IG9yZy5hcGFjaGUubWF2ZW4uc3VyZWZp cmUuYm9vdGVyLlByb3ZpZGVyRmFjdG9yeSRDbGFzc0xvYWRlclByb3h5Lmludm9rZShQcm92aWRl ckZhY3RvcnkuamF2YToxMDMpCglhdCBjb20uc3VuLnByb3h5LiRQcm94eTAuaW52b2tlKFVua25v d24gU291cmNlKQoJYXQgb3JnLmFwYWNoZS5tYXZlbi5zdXJlZmlyZS5ib290ZXIuU3VyZWZpcmVT dGFydGVyLmludm9rZVByb3ZpZGVyKFN1cmVmaXJlU3RhcnRlci5qYXZhOjE1MCkKCWF0IG9yZy5h cGFjaGUubWF2ZW4uc3VyZWZpcmUuYm9vdGVyLlN1cmVmaXJlU3RhcnRlci5ydW5TdWl0ZXNJblBy b2Nlc3MoU3VyZWZpcmVTdGFydGVyLmphdmE6OTEpCglhdCBvcmcuYXBhY2hlLm1hdmVuLnN1cmVm aXJlLmJvb3Rlci5Gb3JrZWRCb290ZXIubWFpbihGb3JrZWRCb290ZXIuamF2YTo2OSkKCnZhbGlk YXRlSW5pdHJkQW5kS2VybmVsSW1hZ2VXaXRoT25lQ2hhcmFjdGVyKG9yZy5vdmlydC5lbmdpbmUu Y29yZS5ibGwuUnVuVm1Db21tYW5kVGVzdCkgIFRpbWUgZWxhcHNlZDogMC4wMDMgc2VjICA8PDwg RVJST1IhCmphdmEubGFuZy5OdWxsUG9pbnRlckV4Y2VwdGlvbgoJYXQgb3JnLm92aXJ0LmVuZ2lu ZS5jb3JlLmJsbC5SdW5WbUNvbW1hbmQuZ3Vlc3RUb29sc1ZlcnNpb25UcmVhdG1lbnQoUnVuVm1D b21tYW5kLmphdmE6NjgwKQoJYXQgb3JnLm92aXJ0LmVuZ2luZS5jb3JlLmJsbC5SdW5WbUNvbW1h bmQuY2hvb3NlQ2QoUnVuVm1Db21tYW5kLmphdmE6MzI3KQoJYXQgb3JnLm92aXJ0LmVuZ2luZS5j b3JlLmJsbC5SdW5WbUNvbW1hbmQuY3JlYXRlVm0oUnVuVm1Db21tYW5kLmphdmE6NDUxKQoJYXQg b3JnLm92aXJ0LmVuZ2luZS5jb3JlLmJsbC5SdW5WbUNvbW1hbmRUZXN0LmNyZWF0ZVZtRm9yVGVz dGluZyhSdW5WbUNvbW1hbmRUZXN0LmphdmE6Mjc5KQoJYXQgb3JnLm92aXJ0LmVuZ2luZS5jb3Jl LmJsbC5SdW5WbUNvbW1hbmRUZXN0LnZhbGlkYXRlSW5pdHJkQW5kS2VybmVsSW1hZ2VXaXRoT25l Q2hhcmFjdGVyKFJ1blZtQ29tbWFuZFRlc3QuamF2YToyNjgpCglhdCBzdW4ucmVmbGVjdC5OYXRp dmVNZXRob2RBY2Nlc3NvckltcGwuaW52b2tlMChOYXRpdmUgTWV0aG9kKQoJYXQgc3VuLnJlZmxl Y3QuTmF0aXZlTWV0aG9kQWNjZXNzb3JJbXBsLmludm9rZShOYXRpdmVNZXRob2RBY2Nlc3Nvcklt cGwuamF2YTo1NykKCWF0IHN1bi5yZWZsZWN0LkRlbGVnYXRpbmdNZXRob2RBY2Nlc3NvckltcGwu aW52b2tlKERlbGVnYXRpbmdNZXRob2RBY2Nlc3NvckltcGwuamF2YTo0MykKCWF0IGphdmEubGFu Zy5yZWZsZWN0Lk1ldGhvZC5pbnZva2UoTWV0aG9kLmphdmE6NjA2KQoJYXQgb3JnLmp1bml0LnJ1 bm5lcnMubW9kZWwuRnJhbWV3b3JrTWV0aG9kJDEucnVuUmVmbGVjdGl2ZUNhbGwoRnJhbWV3b3Jr TWV0aG9kLmphdmE6NDUpCglhdCBvcmcuanVuaXQuaW50ZXJuYWwucnVubmVycy5tb2RlbC5SZWZs ZWN0aXZlQ2FsbGFibGUucnVuKFJlZmxlY3RpdmVDYWxsYWJsZS5qYXZhOjE1KQoJYXQgb3JnLmp1 bml0LnJ1bm5lcnMubW9kZWwuRnJhbWV3b3JrTWV0aG9kLmludm9rZUV4cGxvc2l2ZWx5KEZyYW1l d29ya01ldGhvZC5qYXZhOjQyKQoJYXQgb3JnLmp1bml0LmludGVybmFsLnJ1bm5lcnMuc3RhdGVt ZW50cy5JbnZva2VNZXRob2QuZXZhbHVhdGUoSW52b2tlTWV0aG9kLmphdmE6MjApCglhdCBvcmcu anVuaXQuaW50ZXJuYWwucnVubmVycy5zdGF0ZW1lbnRzLlJ1bkJlZm9yZXMuZXZhbHVhdGUoUnVu QmVmb3Jlcy5qYXZhOjI4KQoJYXQgb3JnLmp1bml0LnJ1bm5lcnMuUGFyZW50UnVubmVyLnJ1bkxl YWYoUGFyZW50UnVubmVyLmphdmE6MjYzKQoJYXQgb3JnLmp1bml0LnJ1bm5lcnMuQmxvY2tKVW5p dDRDbGFzc1J1bm5lci5ydW5DaGlsZChCbG9ja0pVbml0NENsYXNzUnVubmVyLmphdmE6NjgpCglh dCBvcmcuanVuaXQucnVubmVycy5CbG9ja0pVbml0NENsYXNzUnVubmVyLnJ1bkNoaWxkKEJsb2Nr SlVuaXQ0Q2xhc3NSdW5uZXIuamF2YTo0NykKCWF0IG9yZy5qdW5pdC5ydW5uZXJzLlBhcmVudFJ1 bm5lciQzLnJ1bihQYXJlbnRSdW5uZXIuamF2YToyMzEpCglhdCBvcmcuanVuaXQucnVubmVycy5Q YXJlbnRSdW5uZXIkMS5zY2hlZHVsZShQYXJlbnRSdW5uZXIuamF2YTo2MCkKCWF0IG9yZy5qdW5p dC5ydW5uZXJzLlBhcmVudFJ1bm5lci5ydW5DaGlsZHJlbihQYXJlbnRSdW5uZXIuamF2YToyMjkp CglhdCBvcmcuanVuaXQucnVubmVycy5QYXJlbnRSdW5uZXIuYWNjZXNzJDAwMChQYXJlbnRSdW5u ZXIuamF2YTo1MCkKCWF0IG9yZy5qdW5pdC5ydW5uZXJzLlBhcmVudFJ1bm5lciQyLmV2YWx1YXRl KFBhcmVudFJ1bm5lci5qYXZhOjIyMikKCWF0IG9yZy5qdW5pdC5ydWxlcy5UZXN0V2F0Y2hlciQx LmV2YWx1YXRlKFRlc3RXYXRjaGVyLmphdmE6NDcpCglhdCBvcmcuanVuaXQucnVsZXMuUnVuUnVs ZXMuZXZhbHVhdGUoUnVuUnVsZXMuamF2YToxOCkKCWF0IG9yZy5qdW5pdC5ydW5uZXJzLlBhcmVu dFJ1bm5lci5ydW4oUGFyZW50UnVubmVyLmphdmE6MzAwKQoJYXQgb3JnLm1vY2tpdG8uaW50ZXJu YWwucnVubmVycy5KVW5pdDQ1QW5kSGlnaGVyUnVubmVySW1wbC5ydW4oSlVuaXQ0NUFuZEhpZ2hl clJ1bm5lckltcGwuamF2YTozNykKCWF0IG9yZy5tb2NraXRvLnJ1bm5lcnMuTW9ja2l0b0pVbml0 UnVubmVyLnJ1bihNb2NraXRvSlVuaXRSdW5uZXIuamF2YTo2MikKCWF0IG9yZy5hcGFjaGUubWF2 ZW4uc3VyZWZpcmUuanVuaXQ0LkpVbml0NFRlc3RTZXQuZXhlY3V0ZShKVW5pdDRUZXN0U2V0Lmph dmE6MzUpCglhdCBvcmcuYXBhY2hlLm1hdmVuLnN1cmVmaXJlLmp1bml0NC5KVW5pdDRQcm92aWRl ci5leGVjdXRlVGVzdFNldChKVW5pdDRQcm92aWRlci5qYXZhOjExNSkKCWF0IG9yZy5hcGFjaGUu bWF2ZW4uc3VyZWZpcmUuanVuaXQ0LkpVbml0NFByb3ZpZGVyLmludm9rZShKVW5pdDRQcm92aWRl ci5qYXZhOjk3KQoJYXQgc3VuLnJlZmxlY3QuTmF0aXZlTWV0aG9kQWNjZXNzb3JJbXBsLmludm9r ZTAoTmF0aXZlIE1ldGhvZCkKCWF0IHN1bi5yZWZsZWN0Lk5hdGl2ZU1ldGhvZEFjY2Vzc29ySW1w bC5pbnZva2UoTmF0aXZlTWV0aG9kQWNjZXNzb3JJbXBsLmphdmE6NTcpCglhdCBzdW4ucmVmbGVj dC5EZWxlZ2F0aW5nTWV0aG9kQWNjZXNzb3JJbXBsLmludm9rZShEZWxlZ2F0aW5nTWV0aG9kQWNj ZXNzb3JJbXBsLmphdmE6NDMpCglhdCBqYXZhLmxhbmcucmVmbGVjdC5NZXRob2QuaW52b2tlKE1l dGhvZC5qYXZhOjYwNikKCWF0IG9yZy5hcGFjaGUubWF2ZW4uc3VyZWZpcmUuYm9vdGVyLlByb3Zp ZGVyRmFjdG9yeSRDbGFzc0xvYWRlclByb3h5Lmludm9rZShQcm92aWRlckZhY3RvcnkuamF2YTox MDMpCglhdCBjb20uc3VuLnByb3h5LiRQcm94eTAuaW52b2tlKFVua25vd24gU291cmNlKQoJYXQg b3JnLmFwYWNoZS5tYXZlbi5zdXJlZmlyZS5ib290ZXIuU3VyZWZpcmVTdGFydGVyLmludm9rZVBy b3ZpZGVyKFN1cmVmaXJlU3RhcnRlci5qYXZhOjE1MCkKCWF0IG9yZy5hcGFjaGUubWF2ZW4uc3Vy ZWZpcmUuYm9vdGVyLlN1cmVmaXJlU3RhcnRlci5ydW5TdWl0ZXNJblByb2Nlc3MoU3VyZWZpcmVT dGFydGVyLmphdmE6OTEpCglhdCBvcmcuYXBhY2hlLm1hdmVuLnN1cmVmaXJlLmJvb3Rlci5Gb3Jr ZWRCb290ZXIubWFpbihGb3JrZWRCb290ZXIuamF2YTo2OSkKCg== ------=_Part_1140024_507025422.1377115645544--