Return-Path: Delivered-To: apmail-tomcat-users-archive@www.apache.org Received: (qmail 89863 invoked from network); 2 Sep 2009 19:09:14 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 2 Sep 2009 19:09:14 -0000 Received: (qmail 10292 invoked by uid 500); 2 Sep 2009 19:09:10 -0000 Delivered-To: apmail-tomcat-users-archive@tomcat.apache.org Received: (qmail 10249 invoked by uid 500); 2 Sep 2009 19:09:10 -0000 Mailing-List: contact users-help@tomcat.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: "Tomcat Users List" Delivered-To: mailing list users@tomcat.apache.org Received: (qmail 10238 invoked by uid 99); 2 Sep 2009 19:09:10 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 02 Sep 2009 19:09:10 +0000 X-ASF-Spam-Status: No, hits=2.2 required=10.0 tests=HTML_MESSAGE,NORMAL_HTTP_TO_IP,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of bradley.wagner@hannonhill.com designates 209.85.211.193 as permitted sender) Received: from [209.85.211.193] (HELO mail-yw0-f193.google.com) (209.85.211.193) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 02 Sep 2009 19:08:59 +0000 Received: by ywh31 with SMTP id 31so1637329ywh.4 for ; Wed, 02 Sep 2009 12:08:37 -0700 (PDT) MIME-Version: 1.0 Received: by 10.91.187.12 with SMTP id o12mr6347874agp.104.1251918517473; Wed, 02 Sep 2009 12:08:37 -0700 (PDT) In-Reply-To: <327858f40908311519p1833b980g6d69bd5672ee4990@mail.gmail.com> References: <2f0f6ced0908281118l49d2b8deyde4a5ce58367df7f@mail.gmail.com> <2f0f6ced0908311141p4f286f43t79efef6a3f6929d9@mail.gmail.com> <4A9C2A19.5020706@apache.org> <2f0f6ced0908311302j7647ce0ar768dc2db3c3c62eb@mail.gmail.com> <4A9C313D.1070302@christopherschultz.net> <2f0f6ced0908311434l2194c259le95a27905818f09f@mail.gmail.com> <327858f40908311519p1833b980g6d69bd5672ee4990@mail.gmail.com> Date: Wed, 2 Sep 2009 15:08:37 -0400 Message-ID: <2f0f6ced0909021208o57852500pf6bff5c0a45b5788@mail.gmail.com> Subject: Re: 100% usage and hanging on startup of Spring/Hibernate app in Tomcat 5.5 on Ubuntu 7 From: Bradley Wagner To: Tomcat Users List Content-Type: multipart/mixed; boundary=001485f9119a85947104729cfe08 X-Virus-Checked: Checked by ClamAV on apache.org --001485f9119a85947104729cfe08 Content-Type: multipart/alternative; boundary=001485f9119a85946904729cfe06 --001485f9119a85946904729cfe06 Content-Type: text/plain; charset=ISO-8859-1 Thanks for the clarification on the initial heap size. I've set both Xms and Xmx to 512m for the following test. I was able to reproduce the problem immediately with: - Xms and Xmx both set to 512m - Java 1.6 with no JPDA running - XX:+PrintGCDetails enabled I've attached the thread dump which I took on the 3rd or 4th attempt after the process hung. They were all the same on each measure. I've also attached the catalina.out log which shows the GC basically freezing. One thing that it is a little odd is that the Catalina log is basically in the middle of (or possibly JUST finished) some kind of hibernate initialization but the blocked thread (the only thread doing anything but sleeping) doesn't really indicate this. - Bradley On Mon, Aug 31, 2009 at 6:19 PM, Leon Rosenberg < rosenberg.leon@googlemail.com> wrote: > Hello, > This indeed sounds like you have problems with one of the spaces, > please add following option to the JAVA_OPTS (or whatever you are > using) to seubmit jvm parameters: > -XX:+PrintGCDetails > > And, no tomcat's initial heap size don't default to 64Mb. The JVM > allocateds a heap dependent on your computer type, for example the 1.5 > VM would identify a 2 core 2 GB machine as 'server' and allocated more > memory than with 1 core cpu. > > http://72.5.124.55/docs/hotspot/gc5.0/ergo5.html > > regards > Leon > > P.S. I know the link looks strange it come ups from google: > > http://www.google.de/search?q=hotspot+memory+ergonomics&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:en-US:official&client=firefox-a > > P.P.S I had a similar situation once, as a client had set space sizes > manually (new and old) and the old space was full. The VM was only > full garbage collecting which led to 100% CPU usage and strange thread > dumps. The above option would help you in this case to identify the > full gc runs previously and during the hangup. > > > > On Mon, Aug 31, 2009 at 11:34 PM, Bradley > Wagner wrote: > >> > >> The other interesting point is that all of those are hung in places > where > > > > they would naturally be allocating an object or have very recently > allocated > > > > an object, and the JVM *might* in theory be growing the heap. Bradley, > are > > > > your initial and maximum heap sizes identical (I suspect not from your > > > > original message)? If not, what happens if you make them so? > > > > > > From my original post, I'm setting the following memory parameters: > > > > -Xmx512M -XX:MaxPermSize=128m > > > > so I'm not setting an initial heap size at all. If I remember correctly, > > Tomcat's initial heap size default's to 64MB or something. > > > > I'll try to set the initial and max to the same to see if that has any > > effect. > > > > Thanks, > > Bradley > > > > On Mon, Aug 31, 2009 at 4:59 PM, Peter Crowther < > peter.crowther@melandra.com > >> wrote: > > > >> 2009/8/31 Christopher Schultz > >> > >> > -----BEGIN PGP SIGNED MESSAGE----- > >> > Hash: SHA1 > >> > > >> > Bradley, > >> > > >> > On 8/31/2009 4:02 PM, Bradley Wagner wrote: > >> > > Sorry, I should have mentioned this before, but in all cases I tried > >> the > >> > > thread dumps 2-3 times at least 30s apart and none of the threads > have > >> > > progressed at all. > >> > > >> > I agree with Mark: the three threads you showed were different > >> > (different ids), and showing different call stacks. Are you saying > that > >> > each thread dump you took represents multiple thread dumps where that > >> > particular thread didn't progress /at all/ over your multi-dump > sample? > >> > > >> > You might even want to run strace to see which library function calls > >> > are actually completing. > >> > > >> > >> Agree. > >> > >> The other interesting point is that all of those are hung in places > where > >> they would naturally be allocating an object or have very recently > >> allocated > >> an object, and the JVM *might* in theory be growing the heap. Bradley, > are > >> your initial and maximum heap sizes identical (I suspect not from your > >> original message)? If not, what happens if you make them so? > >> > >> - Peter > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org > For additional commands, e-mail: users-help@tomcat.apache.org > > --001485f9119a85946904729cfe06 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Thanks for the clarification on the initial heap size. I've set both Xm= s and Xmx to 512m for the following test.

I was able to = reproduce the problem immediately with:
- Xms and Xmx both set to= 512m
- Java 1.6 with no JPDA running
- XX:+PrintGCDetails enabled=

I've attached the thread dump which I took on the 3r= d or 4th attempt after the process hung. They were all the same on each mea= sure.

I've also attached the catalina.out log which shows= the GC basically freezing.

One thing that it is a= little odd is that the Catalina log is basically in the middle of=A0(or po= ssibly JUST finished)=A0some kind of hibernate initialization but the block= ed thread (the only thread doing anything but sleeping) doesn't really = indicate this.

- Bradley

On M= on, Aug 31, 2009 at 6:19 PM, Leon Rosenberg <rosenberg.leon@= googlemail.com> wrote:
Hello,
This indeed sounds like you have problems with one of the spaces,
please add following option to the JAVA_OPTS (or whatever you are
using) to seubmit jvm parameters:
-XX:+PrintGCDetails

And, no tomcat's initial heap size don't default to 64Mb. The JVM allocateds a heap dependent on your computer type, for example the 1.5
VM would identify a 2 core 2 GB machine as 'server' and allocated m= ore
memory than with 1 core cpu.

http://72.5.124.55/docs/hotspot/gc5.0/ergo5.html

regards
Leon

P.S. I know the link looks strange it come ups from google:
http://www.google.de/search?q=3Dhots= pot+memory+ergonomics&ie=3Dutf-8&oe=3Dutf-8&aq=3Dt&rls=3Dor= g.mozilla:en-US:official&client=3Dfirefox-a

P.P.S I had a similar situation once, as a client had set space sizes
manually (new and old) and the old space was full. The VM was only
full garbage collecting which led to 100% CPU usage and strange thread
dumps. The above option would help you in this case to identify the
full gc runs previously and during the hangup.



On Mon, Aug 31, 2009 at 11:34 PM, Bradley
Wagner<bradley.wagner@hannonhill.com> wrote:
>>
>> The other interesting point is that all of those are hung in place= s where
>
> they would naturally be allocating an object or have very recently all= ocated
>
> an object, and the JVM *might* in theory be growing the heap. =A0Bradl= ey, are
>
> your initial and maximum heap sizes identical (I suspect not from your=
>
> original message)? =A0If not, what happens if you make them so?
>
>
> From my original post, I'm setting the following memory parameters= :
>
> -Xmx512M -XX:MaxPermSize=3D128m
>
> so I'm not setting an initial heap size at all. If I remember corr= ectly,
> Tomcat's initial heap size default's to 64MB or something.
>
> I'll try to set the initial and max to the same to see if that has= any
> effect.
>
> Thanks,
> Bradley
>
> On Mon, Aug 31, 2009 at 4:59 PM, Peter Crowther <peter.crowther@melandra.com<= /a>
>> wrote:
>
>> 2009/8/31 Christopher Schultz <
chris@christopherschultz.net>
>>
>> > -----BEGIN PGP SIGNED MESSAGE-----
>> > Hash: SHA1
>> >
>> > Bradley,
>> >
>> > On 8/31/2009 4:02 PM, Bradley Wagner wrote:
>> > > Sorry, I should have mentioned this before, but in all c= ases I tried
>> the
>> > > thread dumps 2-3 times at least 30s apart and none of th= e threads have
>> > > progressed at all.
>> >
>> > I agree with Mark: the three threads you showed were differen= t
>> > (different ids), and showing different call stacks. Are you s= aying that
>> > each thread dump you took represents multiple thread dumps wh= ere that
>> > particular thread didn't progress /at all/ over your mult= i-dump sample?
>> >
>> > You might even want to run strace to see which library functi= on calls
>> > are actually completing.
>> >
>>
>> Agree.
>>
>> The other interesting point is that all of those are hung in place= s where
>> they would naturally be allocating an object or have very recently=
>> allocated
>> an object, and the JVM *might* in theory be growing the heap. =A0B= radley, are
>> your initial and maximum heap sizes identical (I suspect not from = your
>> original message)? =A0If not, what happens if you make them so? >>
>> - Peter
>

------------------------------------------= ---------------------------
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org

--001485f9119a85946904729cfe06-- --001485f9119a85947104729cfe08 Content-Type: text/plain; charset=US-ASCII; name="blocked-thread-dump.txt" Content-Disposition: attachment; filename="blocked-thread-dump.txt" Content-Transfer-Encoding: base64 X-Attachment-Id: f_fz4fxknn2 QXR0YWNoaW5nIHRvIHByb2Nlc3MgSUQgMjYyMDIsIHBsZWFzZSB3YWl0Li4uCkRlYnVnZ2VyIGF0 dGFjaGVkIHN1Y2Nlc3NmdWxseS4KU2VydmVyIGNvbXBpbGVyIGRldGVjdGVkLgpKVk0gdmVyc2lv biBpcyAxNC4wLWIxNgpEZWFkbG9jayBEZXRlY3Rpb246CgpObyBkZWFkbG9ja3MgZm91bmQuCgpU aHJlYWQgMjYyMTY6IChzdGF0ZSA9IEJMT0NLRUQpCiAtIGphdmEubGFuZy5PYmplY3Qud2FpdChs b25nKSBAYmNpPTAgKEludGVycHJldGVkIGZyYW1lKQogLSBqYXZhLmxhbmcuT2JqZWN0LndhaXQo KSBAYmNpPTIsIGxpbmU9NDg1IChJbnRlcnByZXRlZCBmcmFtZSkKIC0gamF2YS51dGlsLlRpbWVy VGhyZWFkLm1haW5Mb29wKCkgQGJjaT0yOCwgbGluZT00ODMgKEludGVycHJldGVkIGZyYW1lKQog LSBqYXZhLnV0aWwuVGltZXJUaHJlYWQucnVuKCkgQGJjaT0xLCBsaW5lPTQ2MiAoSW50ZXJwcmV0 ZWQgZnJhbWUpCgoKVGhyZWFkIDI2MjE1OiAoc3RhdGUgPSBCTE9DS0VEKQogLSBqYXZhLmxhbmcu VGhyZWFkLnNsZWVwKGxvbmcpIEBiY2k9MCAoSW50ZXJwcmV0ZWQgZnJhbWUpCiAtIGNvbS5oYW5u b25oaWxsLmNhc2NhZGUubW9kZWwuc2VhcmNoLk1lbW9yeVF1ZXVlU2VhcmNoSm9iU2NoZWR1bGVy JENvbnN1bWVyVGhyZWFkLnJ1bigpIEBiY2k9MTcsIGxpbmU9NTYgKEludGVycHJldGVkIGZyYW1l KQoKClRocmVhZCAyNjIxNDogKHN0YXRlID0gQkxPQ0tFRCkKIC0gamF2YS5sYW5nLlRocmVhZC5z bGVlcChsb25nKSBAYmNpPTAgKEludGVycHJldGVkIGZyYW1lKQogLSBjb20uaGFubm9uaGlsbC5j YXNjYWRlLnZpZXcuc3RydXRzLnNlY3VyaXR5LkNhc2NhZGVTZXNzaW9uTGlzdGVuZXIkMi5zbGVl cCgpIEBiY2k9MjUsIGxpbmU9NTE3IChJbnRlcnByZXRlZCBmcmFtZSkKIC0gY29tLmhhbm5vbmhp bGwuY2FzY2FkZS52aWV3LnN0cnV0cy5zZWN1cml0eS5DYXNjYWRlU2Vzc2lvbkxpc3RlbmVyJDIu cnVuKCkgQGJjaT0xOCwgbGluZT00OTggKEludGVycHJldGVkIGZyYW1lKQogLSBqYXZhLmxhbmcu VGhyZWFkLnJ1bigpIEBiY2k9MTEsIGxpbmU9NjE5IChJbnRlcnByZXRlZCBmcmFtZSkKCgpUaHJl YWQgMjYyMDk6IChzdGF0ZSA9IEJMT0NLRUQpCgoKVGhyZWFkIDI2MjA4OiAoc3RhdGUgPSBCTE9D S0VEKQogLSBqYXZhLmxhbmcuT2JqZWN0LndhaXQobG9uZykgQGJjaT0wIChJbnRlcnByZXRlZCBm cmFtZSkKIC0gamF2YS5sYW5nLnJlZi5SZWZlcmVuY2VRdWV1ZS5yZW1vdmUobG9uZykgQGJjaT00 NCwgbGluZT0xMTggKEludGVycHJldGVkIGZyYW1lKQogLSBqYXZhLmxhbmcucmVmLlJlZmVyZW5j ZVF1ZXVlLnJlbW92ZSgpIEBiY2k9MiwgbGluZT0xMzQgKEludGVycHJldGVkIGZyYW1lKQogLSBq YXZhLmxhbmcucmVmLkZpbmFsaXplciRGaW5hbGl6ZXJUaHJlYWQucnVuKCkgQGJjaT0zLCBsaW5l PTE1OSAoSW50ZXJwcmV0ZWQgZnJhbWUpCgoKVGhyZWFkIDI2MjA3OiAoc3RhdGUgPSBCTE9DS0VE KQogLSBqYXZhLmxhbmcuT2JqZWN0LndhaXQobG9uZykgQGJjaT0wIChJbnRlcnByZXRlZCBmcmFt ZSkKIC0gamF2YS5sYW5nLk9iamVjdC53YWl0KCkgQGJjaT0yLCBsaW5lPTQ4NSAoSW50ZXJwcmV0 ZWQgZnJhbWUpCiAtIGphdmEubGFuZy5yZWYuUmVmZXJlbmNlJFJlZmVyZW5jZUhhbmRsZXIucnVu KCkgQGJjaT00NiwgbGluZT0xMTYgKEludGVycHJldGVkIGZyYW1lKQoKClRocmVhZCAyNjIwMzog KHN0YXRlID0gQkxPQ0tFRCkKIC0gamF2YS5pby5EYXRhSW5wdXRTdHJlYW0ucmVhZFVURihqYXZh LmlvLkRhdGFJbnB1dCkgQGJjaT00ODksIGxpbmU9NjQ0IChDb21waWxlZCBmcmFtZSkKIC0gamF2 YS5pby5EYXRhSW5wdXRTdHJlYW0ucmVhZFVURigpIEBiY2k9MSwgbGluZT01NDcgKENvbXBpbGVk IGZyYW1lKQogLSBvcmcuYXNwZWN0ai5hcGFjaGUuYmNlbC5jbGFzc2ZpbGUuQ29uc3RhbnRVdGY4 Ljxpbml0PihqYXZhLmlvLkRhdGFJbnB1dFN0cmVhbSkgQGJjaT03LCBsaW5lPTg4IChDb21waWxl ZCBmcmFtZSkKIC0gb3JnLmFzcGVjdGouYXBhY2hlLmJjZWwuY2xhc3NmaWxlLkNvbnN0YW50LnJl YWRDb25zdGFudChqYXZhLmlvLkRhdGFJbnB1dFN0cmVhbSkgQGJjaT05MSwgbGluZT0xMjUgKENv bXBpbGVkIGZyYW1lKQogLSBvcmcuYXNwZWN0ai5hcGFjaGUuYmNlbC5jbGFzc2ZpbGUuQ29uc3Rh bnRQb29sLjxpbml0PihqYXZhLmlvLkRhdGFJbnB1dFN0cmVhbSkgQGJjaT02NywgbGluZT00NSAo Q29tcGlsZWQgZnJhbWUpCiAtIG9yZy5hc3BlY3RqLmFwYWNoZS5iY2VsLmNsYXNzZmlsZS5DbGFz c1BhcnNlci5yZWFkQ29uc3RhbnRQb29sKCkgQGJjaT05LCBsaW5lPTE4NiAoSW50ZXJwcmV0ZWQg ZnJhbWUpCiAtIG9yZy5hc3BlY3RqLmFwYWNoZS5iY2VsLmNsYXNzZmlsZS5DbGFzc1BhcnNlci5w YXJzZSgpIEBiY2k9OSwgbGluZT0xMzEgKEludGVycHJldGVkIGZyYW1lKQogLSBvcmcuYXNwZWN0 ai5hcGFjaGUuYmNlbC51dGlsLk5vbkNhY2hpbmdDbGFzc0xvYWRlclJlcG9zaXRvcnkubG9hZENs YXNzKGphdmEubGFuZy5TdHJpbmcpIEBiY2k9MTAwLCBsaW5lPTIyNiAoSW50ZXJwcmV0ZWQgZnJh bWUpCiAtIG9yZy5hc3BlY3RqLmFwYWNoZS5iY2VsLnV0aWwuTm9uQ2FjaGluZ0NsYXNzTG9hZGVy UmVwb3NpdG9yeS5sb2FkQ2xhc3MoamF2YS5sYW5nLkNsYXNzKSBAYmNpPTUsIGxpbmU9MjM3IChJ bnRlcnByZXRlZCBmcmFtZSkKIC0gb3JnLmFzcGVjdGoud2VhdmVyLnJlZmxlY3QuSmF2YTE1QW5u b3RhdGlvbkZpbmRlci5nZXRQYXJhbWV0ZXJBbm5vdGF0aW9uVHlwZXMoamF2YS5sYW5nLnJlZmxl Y3QuTWVtYmVyKSBAYmNpPTIxLCBsaW5lPTM1MyAoSW50ZXJwcmV0ZWQgZnJhbWUpCiAtIG9yZy5h c3BlY3RqLndlYXZlci5yZWZsZWN0LlJlZmxlY3Rpb25CYXNlZFJlc29sdmVkTWVtYmVySW1wbC5n ZXRQYXJhbWV0ZXJBbm5vdGF0aW9uVHlwZXMoKSBAYmNpPTIzLCBsaW5lPTIwNSAoSW50ZXJwcmV0 ZWQgZnJhbWUpCiAtIG9yZy5hc3BlY3RqLndlYXZlci5Kb2luUG9pbnRTaWduYXR1cmUuZ2V0UGFy YW1ldGVyQW5ub3RhdGlvblR5cGVzKCkgQGJjaT00LCBsaW5lPTI3MiAoSW50ZXJwcmV0ZWQgZnJh bWUpCiAtIG9yZy5hc3BlY3RqLndlYXZlci5wYXR0ZXJucy5TaWduYXR1cmVQYXR0ZXJuLm1hdGNo ZXNFeGFjdGx5TWV0aG9kKG9yZy5hc3BlY3RqLndlYXZlci5Kb2luUG9pbnRTaWduYXR1cmUsIG9y Zy5hc3BlY3RqLndlYXZlci5Xb3JsZCwgYm9vbGVhbikgQGJjaT0xMzMsIGxpbmU9NDAwIChJbnRl cnByZXRlZCBmcmFtZSkKIC0gb3JnLmFzcGVjdGoud2VhdmVyLnBhdHRlcm5zLlNpZ25hdHVyZVBh dHRlcm4ubWF0Y2hlc0V4YWN0bHkob3JnLmFzcGVjdGoud2VhdmVyLkpvaW5Qb2ludFNpZ25hdHVy ZSwgb3JnLmFzcGVjdGoud2VhdmVyLldvcmxkLCBib29sZWFuLCBib29sZWFuKSBAYmNpPTEwMCwg bGluZT0zMzYgKEludGVycHJldGVkIGZyYW1lKQogLSBvcmcuYXNwZWN0ai53ZWF2ZXIucGF0dGVy bnMuU2lnbmF0dXJlUGF0dGVybi5tYXRjaGVzKG9yZy5hc3BlY3RqLndlYXZlci5NZW1iZXIsIG9y Zy5hc3BlY3RqLndlYXZlci5Xb3JsZCwgYm9vbGVhbikgQGJjaT03NCwgbGluZT0zMDAgKEludGVy cHJldGVkIGZyYW1lKQogLSBvcmcuYXNwZWN0ai53ZWF2ZXIucGF0dGVybnMuS2luZGVkUG9pbnRj dXQubWF0Y2hJbnRlcm5hbChvcmcuYXNwZWN0ai53ZWF2ZXIuU2hhZG93KSBAYmNpPTkwLCBsaW5l PTEwNiAoSW50ZXJwcmV0ZWQgZnJhbWUpCiAtIG9yZy5hc3BlY3RqLndlYXZlci5wYXR0ZXJucy5Q b2ludGN1dC5tYXRjaChvcmcuYXNwZWN0ai53ZWF2ZXIuU2hhZG93KSBAYmNpPTMyLCBsaW5lPTE0 NiAoQ29tcGlsZWQgZnJhbWUpCiAtIG9yZy5hc3BlY3RqLndlYXZlci5wYXR0ZXJucy5BbmRQb2lu dGN1dC5tYXRjaEludGVybmFsKG9yZy5hc3BlY3RqLndlYXZlci5TaGFkb3cpIEBiY2k9MjQsIGxp bmU9NTQgKEludGVycHJldGVkIGZyYW1lKQogLSBvcmcuYXNwZWN0ai53ZWF2ZXIucGF0dGVybnMu UG9pbnRjdXQubWF0Y2gob3JnLmFzcGVjdGoud2VhdmVyLlNoYWRvdykgQGJjaT0zMiwgbGluZT0x NDYgKENvbXBpbGVkIGZyYW1lKQogLSBvcmcuYXNwZWN0ai53ZWF2ZXIuaW50ZXJuYWwudG9vbHMu UG9pbnRjdXRFeHByZXNzaW9uSW1wbC5nZXRTaGFkb3dNYXRjaChvcmcuYXNwZWN0ai53ZWF2ZXIu U2hhZG93KSBAYmNpPTUsIGxpbmU9MjM1IChJbnRlcnByZXRlZCBmcmFtZSkKIC0gb3JnLmFzcGVj dGoud2VhdmVyLmludGVybmFsLnRvb2xzLlBvaW50Y3V0RXhwcmVzc2lvbkltcGwubWF0Y2hlc0V4 ZWN1dGlvbihqYXZhLmxhbmcucmVmbGVjdC5NZW1iZXIpIEBiY2k9MTUsIGxpbmU9MTAxIChJbnRl cnByZXRlZCBmcmFtZSkKIC0gb3JnLmFzcGVjdGoud2VhdmVyLmludGVybmFsLnRvb2xzLlBvaW50 Y3V0RXhwcmVzc2lvbkltcGwubWF0Y2hlc01ldGhvZEV4ZWN1dGlvbihqYXZhLmxhbmcucmVmbGVj dC5NZXRob2QpIEBiY2k9MiwgbGluZT05MiAoQ29tcGlsZWQgZnJhbWUpCiAtIG9yZy5zcHJpbmdm cmFtZXdvcmsuYW9wLmFzcGVjdGouQXNwZWN0SkV4cHJlc3Npb25Qb2ludGN1dC5nZXRTaGFkb3dN YXRjaChqYXZhLmxhbmcucmVmbGVjdC5NZXRob2QsIGphdmEubGFuZy5yZWZsZWN0Lk1ldGhvZCkg QGJjaT0zMiwgbGluZT0zNzEgKENvbXBpbGVkIGZyYW1lKQogLSBvcmcuc3ByaW5nZnJhbWV3b3Jr LmFvcC5hc3BlY3RqLkFzcGVjdEpFeHByZXNzaW9uUG9pbnRjdXQubWF0Y2hlcyhqYXZhLmxhbmcu cmVmbGVjdC5NZXRob2QsIGphdmEubGFuZy5DbGFzcywgYm9vbGVhbikgQGJjaT0xOCwgbGluZT0y NDggKENvbXBpbGVkIGZyYW1lKQogLSBvcmcuc3ByaW5nZnJhbWV3b3JrLmFvcC5zdXBwb3J0LkFv cFV0aWxzLmNhbkFwcGx5KG9yZy5zcHJpbmdmcmFtZXdvcmsuYW9wLlBvaW50Y3V0LCBqYXZhLmxh bmcuQ2xhc3MsIGJvb2xlYW4pIEBiY2k9MTI1LCBsaW5lPTIxMSAoQ29tcGlsZWQgZnJhbWUpCiAt IG9yZy5zcHJpbmdmcmFtZXdvcmsuYW9wLnN1cHBvcnQuQW9wVXRpbHMuY2FuQXBwbHkob3JnLnNw cmluZ2ZyYW1ld29yay5hb3AuQWR2aXNvciwgamF2YS5sYW5nLkNsYXNzLCBib29sZWFuKSBAYmNp PTQzLCBsaW5lPTI1MCAoSW50ZXJwcmV0ZWQgZnJhbWUpCiAtIG9yZy5zcHJpbmdmcmFtZXdvcmsu YW9wLnN1cHBvcnQuQW9wVXRpbHMuZmluZEFkdmlzb3JzVGhhdENhbkFwcGx5KGphdmEudXRpbC5M aXN0LCBqYXZhLmxhbmcuQ2xhc3MpIEBiY2k9MTM1LCBsaW5lPTI4NCAoSW50ZXJwcmV0ZWQgZnJh bWUpCiAtIG9yZy5zcHJpbmdmcmFtZXdvcmsuYW9wLmZyYW1ld29yay5hdXRvcHJveHkuQWJzdHJh Y3RBZHZpc29yQXV0b1Byb3h5Q3JlYXRvci5maW5kQWR2aXNvcnNUaGF0Q2FuQXBwbHkoamF2YS51 dGlsLkxpc3QsIGphdmEubGFuZy5DbGFzcywgamF2YS5sYW5nLlN0cmluZykgQGJjaT02LCBsaW5l PTExMyAoSW50ZXJwcmV0ZWQgZnJhbWUpCiAtIG9yZy5zcHJpbmdmcmFtZXdvcmsuYW9wLmZyYW1l d29yay5hdXRvcHJveHkuQWJzdHJhY3RBZHZpc29yQXV0b1Byb3h5Q3JlYXRvci5maW5kRWxpZ2li bGVBZHZpc29ycyhqYXZhLmxhbmcuQ2xhc3MsIGphdmEubGFuZy5TdHJpbmcpIEBiY2k9OSwgbGlu ZT04NSAoSW50ZXJwcmV0ZWQgZnJhbWUpCiAtIG9yZy5zcHJpbmdmcmFtZXdvcmsuYW9wLmZyYW1l d29yay5hdXRvcHJveHkuQWJzdHJhY3RBZHZpc29yQXV0b1Byb3h5Q3JlYXRvci5nZXRBZHZpY2Vz QW5kQWR2aXNvcnNGb3JCZWFuKGphdmEubGFuZy5DbGFzcywgamF2YS5sYW5nLlN0cmluZywgb3Jn LnNwcmluZ2ZyYW1ld29yay5hb3AuVGFyZ2V0U291cmNlKSBAYmNpPTMsIGxpbmU9NjYgKEludGVy cHJldGVkIGZyYW1lKQogLSBvcmcuc3ByaW5nZnJhbWV3b3JrLmFvcC5mcmFtZXdvcmsuYXV0b3By b3h5LkFic3RyYWN0QXV0b1Byb3h5Q3JlYXRvci53cmFwSWZOZWNlc3NhcnkoamF2YS5sYW5nLk9i amVjdCwgamF2YS5sYW5nLlN0cmluZywgamF2YS5sYW5nLk9iamVjdCkgQGJjaT03NCwgbGluZT0z NjIgKEludGVycHJldGVkIGZyYW1lKQogLSBvcmcuc3ByaW5nZnJhbWV3b3JrLmFvcC5mcmFtZXdv cmsuYXV0b3Byb3h5LkFic3RyYWN0QXV0b1Byb3h5Q3JlYXRvci5wb3N0UHJvY2Vzc0FmdGVySW5p dGlhbGl6YXRpb24oamF2YS5sYW5nLk9iamVjdCwgamF2YS5sYW5nLlN0cmluZykgQGJjaT0zMSwg bGluZT0zMjUgKEludGVycHJldGVkIGZyYW1lKQogLSBvcmcuc3ByaW5nZnJhbWV3b3JrLmJlYW5z LmZhY3Rvcnkuc3VwcG9ydC5BYnN0cmFjdEF1dG93aXJlQ2FwYWJsZUJlYW5GYWN0b3J5LmFwcGx5 QmVhblBvc3RQcm9jZXNzb3JzQWZ0ZXJJbml0aWFsaXphdGlvbihqYXZhLmxhbmcuT2JqZWN0LCBq YXZhLmxhbmcuU3RyaW5nKSBAYmNpPTM5LCBsaW5lPTM2MSAoSW50ZXJwcmV0ZWQgZnJhbWUpCiAt IG9yZy5zcHJpbmdmcmFtZXdvcmsuYmVhbnMuZmFjdG9yeS5zdXBwb3J0LkFic3RyYWN0QXV0b3dp cmVDYXBhYmxlQmVhbkZhY3RvcnkuaW5pdGlhbGl6ZUJlYW4oamF2YS5sYW5nLlN0cmluZywgamF2 YS5sYW5nLk9iamVjdCwgb3JnLnNwcmluZ2ZyYW1ld29yay5iZWFucy5mYWN0b3J5LnN1cHBvcnQu Um9vdEJlYW5EZWZpbml0aW9uKSBAYmNpPTEzMSwgbGluZT0xMzQ0IChJbnRlcnByZXRlZCBmcmFt ZSkKIC0gb3JnLnNwcmluZ2ZyYW1ld29yay5iZWFucy5mYWN0b3J5LnN1cHBvcnQuQWJzdHJhY3RB dXRvd2lyZUNhcGFibGVCZWFuRmFjdG9yeS5kb0NyZWF0ZUJlYW4oamF2YS5sYW5nLlN0cmluZywg b3JnLnNwcmluZ2ZyYW1ld29yay5iZWFucy5mYWN0b3J5LnN1cHBvcnQuUm9vdEJlYW5EZWZpbml0 aW9uLCBqYXZhLmxhbmcuT2JqZWN0W10pIEBiY2k9MjMyLCBsaW5lPTQ3MyAoSW50ZXJwcmV0ZWQg ZnJhbWUpCiAtIG9yZy5zcHJpbmdmcmFtZXdvcmsuYmVhbnMuZmFjdG9yeS5zdXBwb3J0LkFic3Ry YWN0QXV0b3dpcmVDYXBhYmxlQmVhbkZhY3RvcnkkMS5ydW4oKSBAYmNpPTE2NywgbGluZT00MDkg KEludGVycHJldGVkIGZyYW1lKQogLSBqYXZhLnNlY3VyaXR5LkFjY2Vzc0NvbnRyb2xsZXIuZG9Q cml2aWxlZ2VkKGphdmEuc2VjdXJpdHkuUHJpdmlsZWdlZEFjdGlvbiwgamF2YS5zZWN1cml0eS5B Y2Nlc3NDb250cm9sQ29udGV4dCkgQGJjaT0wIChJbnRlcnByZXRlZCBmcmFtZSkKIC0gb3JnLnNw cmluZ2ZyYW1ld29yay5iZWFucy5mYWN0b3J5LnN1cHBvcnQuQWJzdHJhY3RBdXRvd2lyZUNhcGFi bGVCZWFuRmFjdG9yeS5jcmVhdGVCZWFuKGphdmEubGFuZy5TdHJpbmcsIG9yZy5zcHJpbmdmcmFt ZXdvcmsuYmVhbnMuZmFjdG9yeS5zdXBwb3J0LlJvb3RCZWFuRGVmaW5pdGlvbiwgamF2YS5sYW5n Lk9iamVjdFtdKSBAYmNpPTE4LCBsaW5lPTM4MCAoSW50ZXJwcmV0ZWQgZnJhbWUpCiAtIG9yZy5z cHJpbmdmcmFtZXdvcmsuYmVhbnMuZmFjdG9yeS5zdXBwb3J0LkFic3RyYWN0QmVhbkZhY3Rvcnkk MS5nZXRPYmplY3QoKSBAYmNpPTE2LCBsaW5lPTI2NCAoSW50ZXJwcmV0ZWQgZnJhbWUpCiAtIG9y Zy5zcHJpbmdmcmFtZXdvcmsuYmVhbnMuZmFjdG9yeS5zdXBwb3J0LkRlZmF1bHRTaW5nbGV0b25C ZWFuUmVnaXN0cnkuZ2V0U2luZ2xldG9uKGphdmEubGFuZy5TdHJpbmcsIG9yZy5zcHJpbmdmcmFt ZXdvcmsuYmVhbnMuZmFjdG9yeS5PYmplY3RGYWN0b3J5KSBAYmNpPTEyOSwgbGluZT0yMjIgKElu dGVycHJldGVkIGZyYW1lKQogLSBvcmcuc3ByaW5nZnJhbWV3b3JrLmJlYW5zLmZhY3Rvcnkuc3Vw cG9ydC5BYnN0cmFjdEJlYW5GYWN0b3J5LmRvR2V0QmVhbihqYXZhLmxhbmcuU3RyaW5nLCBqYXZh LmxhbmcuQ2xhc3MsIGphdmEubGFuZy5PYmplY3RbXSwgYm9vbGVhbikgQGJjaT0zMDksIGxpbmU9 MjYxIChJbnRlcnByZXRlZCBmcmFtZSkKIC0gb3JnLnNwcmluZ2ZyYW1ld29yay5iZWFucy5mYWN0 b3J5LnN1cHBvcnQuQWJzdHJhY3RCZWFuRmFjdG9yeS5nZXRCZWFuKGphdmEubGFuZy5TdHJpbmcs IGphdmEubGFuZy5DbGFzcywgamF2YS5sYW5nLk9iamVjdFtdKSBAYmNpPTUsIGxpbmU9MTg1IChJ bnRlcnByZXRlZCBmcmFtZSkKIC0gb3JnLnNwcmluZ2ZyYW1ld29yay5iZWFucy5mYWN0b3J5LnN1 cHBvcnQuQWJzdHJhY3RCZWFuRmFjdG9yeS5nZXRCZWFuKGphdmEubGFuZy5TdHJpbmcpIEBiY2k9 NCwgbGluZT0xNjQgKEludGVycHJldGVkIGZyYW1lKQogLSBvcmcuc3ByaW5nZnJhbWV3b3JrLmJl YW5zLmZhY3Rvcnkuc3VwcG9ydC5CZWFuRGVmaW5pdGlvblZhbHVlUmVzb2x2ZXIucmVzb2x2ZVJl ZmVyZW5jZShqYXZhLmxhbmcuT2JqZWN0LCBvcmcuc3ByaW5nZnJhbWV3b3JrLmJlYW5zLmZhY3Rv cnkuY29uZmlnLlJ1bnRpbWVCZWFuUmVmZXJlbmNlKSBAYmNpPTkyLCBsaW5lPTI2OSAoSW50ZXJw cmV0ZWQgZnJhbWUpCiAtIG9yZy5zcHJpbmdmcmFtZXdvcmsuYmVhbnMuZmFjdG9yeS5zdXBwb3J0 LkJlYW5EZWZpbml0aW9uVmFsdWVSZXNvbHZlci5yZXNvbHZlVmFsdWVJZk5lY2Vzc2FyeShqYXZh LmxhbmcuT2JqZWN0LCBqYXZhLmxhbmcuT2JqZWN0KSBAYmNpPTE1LCBsaW5lPTEwNCAoSW50ZXJw cmV0ZWQgZnJhbWUpCiAtIG9yZy5zcHJpbmdmcmFtZXdvcmsuYmVhbnMuZmFjdG9yeS5zdXBwb3J0 LkFic3RyYWN0QXV0b3dpcmVDYXBhYmxlQmVhbkZhY3RvcnkuYXBwbHlQcm9wZXJ0eVZhbHVlcyhq YXZhLmxhbmcuU3RyaW5nLCBvcmcuc3ByaW5nZnJhbWV3b3JrLmJlYW5zLmZhY3RvcnkuY29uZmln LkJlYW5EZWZpbml0aW9uLCBvcmcuc3ByaW5nZnJhbWV3b3JrLmJlYW5zLkJlYW5XcmFwcGVyLCBv cmcuc3ByaW5nZnJhbWV3b3JrLmJlYW5zLlByb3BlcnR5VmFsdWVzKSBAYmNpPTIxNywgbGluZT0x MjQ1IChJbnRlcnByZXRlZCBmcmFtZSkKIC0gb3JnLnNwcmluZ2ZyYW1ld29yay5iZWFucy5mYWN0 b3J5LnN1cHBvcnQuQWJzdHJhY3RBdXRvd2lyZUNhcGFibGVCZWFuRmFjdG9yeS5wb3B1bGF0ZUJl YW4oamF2YS5sYW5nLlN0cmluZywgb3JnLnNwcmluZ2ZyYW1ld29yay5iZWFucy5mYWN0b3J5LnN1 cHBvcnQuQWJzdHJhY3RCZWFuRGVmaW5pdGlvbiwgb3JnLnNwcmluZ2ZyYW1ld29yay5iZWFucy5C ZWFuV3JhcHBlcikgQGJjaT0zMzksIGxpbmU9MTAxMCAoSW50ZXJwcmV0ZWQgZnJhbWUpCiAtIG9y Zy5zcHJpbmdmcmFtZXdvcmsuYmVhbnMuZmFjdG9yeS5zdXBwb3J0LkFic3RyYWN0QXV0b3dpcmVD YXBhYmxlQmVhbkZhY3RvcnkuZG9DcmVhdGVCZWFuKGphdmEubGFuZy5TdHJpbmcsIG9yZy5zcHJp bmdmcmFtZXdvcmsuYmVhbnMuZmFjdG9yeS5zdXBwb3J0LlJvb3RCZWFuRGVmaW5pdGlvbiwgamF2 YS5sYW5nLk9iamVjdFtdKSBAYmNpPTIyNCwgbGluZT00NzIgKEludGVycHJldGVkIGZyYW1lKQog LSBvcmcuc3ByaW5nZnJhbWV3b3JrLmJlYW5zLmZhY3Rvcnkuc3VwcG9ydC5BYnN0cmFjdEF1dG93 aXJlQ2FwYWJsZUJlYW5GYWN0b3J5JDEucnVuKCkgQGJjaT0xNjcsIGxpbmU9NDA5IChJbnRlcnBy ZXRlZCBmcmFtZSkKIC0gamF2YS5zZWN1cml0eS5BY2Nlc3NDb250cm9sbGVyLmRvUHJpdmlsZWdl ZChqYXZhLnNlY3VyaXR5LlByaXZpbGVnZWRBY3Rpb24sIGphdmEuc2VjdXJpdHkuQWNjZXNzQ29u dHJvbENvbnRleHQpIEBiY2k9MCAoSW50ZXJwcmV0ZWQgZnJhbWUpCiAtIG9yZy5zcHJpbmdmcmFt ZXdvcmsuYmVhbnMuZmFjdG9yeS5zdXBwb3J0LkFic3RyYWN0QXV0b3dpcmVDYXBhYmxlQmVhbkZh Y3RvcnkuY3JlYXRlQmVhbihqYXZhLmxhbmcuU3RyaW5nLCBvcmcuc3ByaW5nZnJhbWV3b3JrLmJl YW5zLmZhY3Rvcnkuc3VwcG9ydC5Sb290QmVhbkRlZmluaXRpb24sIGphdmEubGFuZy5PYmplY3Rb XSkgQGJjaT0xOCwgbGluZT0zODAgKEludGVycHJldGVkIGZyYW1lKQogLSBvcmcuc3ByaW5nZnJh bWV3b3JrLmJlYW5zLmZhY3Rvcnkuc3VwcG9ydC5BYnN0cmFjdEJlYW5GYWN0b3J5JDEuZ2V0T2Jq ZWN0KCkgQGJjaT0xNiwgbGluZT0yNjQgKEludGVycHJldGVkIGZyYW1lKQogLSBvcmcuc3ByaW5n ZnJhbWV3b3JrLmJlYW5zLmZhY3Rvcnkuc3VwcG9ydC5EZWZhdWx0U2luZ2xldG9uQmVhblJlZ2lz dHJ5LmdldFNpbmdsZXRvbihqYXZhLmxhbmcuU3RyaW5nLCBvcmcuc3ByaW5nZnJhbWV3b3JrLmJl YW5zLmZhY3RvcnkuT2JqZWN0RmFjdG9yeSkgQGJjaT0xMjksIGxpbmU9MjIyIChJbnRlcnByZXRl ZCBmcmFtZSkKIC0gb3JnLnNwcmluZ2ZyYW1ld29yay5iZWFucy5mYWN0b3J5LnN1cHBvcnQuQWJz dHJhY3RCZWFuRmFjdG9yeS5kb0dldEJlYW4oamF2YS5sYW5nLlN0cmluZywgamF2YS5sYW5nLkNs YXNzLCBqYXZhLmxhbmcuT2JqZWN0W10sIGJvb2xlYW4pIEBiY2k9MzA5LCBsaW5lPTI2MSAoSW50 ZXJwcmV0ZWQgZnJhbWUpCiAtIG9yZy5zcHJpbmdmcmFtZXdvcmsuYmVhbnMuZmFjdG9yeS5zdXBw b3J0LkFic3RyYWN0QmVhbkZhY3RvcnkuZ2V0QmVhbihqYXZhLmxhbmcuU3RyaW5nLCBqYXZhLmxh bmcuQ2xhc3MsIGphdmEubGFuZy5PYmplY3RbXSkgQGJjaT01LCBsaW5lPTE4NSAoSW50ZXJwcmV0 ZWQgZnJhbWUpCiAtIG9yZy5zcHJpbmdmcmFtZXdvcmsuYmVhbnMuZmFjdG9yeS5zdXBwb3J0LkFi c3RyYWN0QmVhbkZhY3RvcnkuZ2V0QmVhbihqYXZhLmxhbmcuU3RyaW5nKSBAYmNpPTQsIGxpbmU9 MTY0IChJbnRlcnByZXRlZCBmcmFtZSkKIC0gb3JnLnNwcmluZ2ZyYW1ld29yay5iZWFucy5mYWN0 b3J5LnN1cHBvcnQuQmVhbkRlZmluaXRpb25WYWx1ZVJlc29sdmVyLnJlc29sdmVSZWZlcmVuY2Uo amF2YS5sYW5nLk9iamVjdCwgb3JnLnNwcmluZ2ZyYW1ld29yay5iZWFucy5mYWN0b3J5LmNvbmZp Zy5SdW50aW1lQmVhblJlZmVyZW5jZSkgQGJjaT05MiwgbGluZT0yNjkgKEludGVycHJldGVkIGZy YW1lKQogLSBvcmcuc3ByaW5nZnJhbWV3b3JrLmJlYW5zLmZhY3Rvcnkuc3VwcG9ydC5CZWFuRGVm aW5pdGlvblZhbHVlUmVzb2x2ZXIucmVzb2x2ZVZhbHVlSWZOZWNlc3NhcnkoamF2YS5sYW5nLk9i amVjdCwgamF2YS5sYW5nLk9iamVjdCkgQGJjaT0xNSwgbGluZT0xMDQgKEludGVycHJldGVkIGZy YW1lKQogLSBvcmcuc3ByaW5nZnJhbWV3b3JrLmJlYW5zLmZhY3Rvcnkuc3VwcG9ydC5BYnN0cmFj dEF1dG93aXJlQ2FwYWJsZUJlYW5GYWN0b3J5LmFwcGx5UHJvcGVydHlWYWx1ZXMoamF2YS5sYW5n LlN0cmluZywgb3JnLnNwcmluZ2ZyYW1ld29yay5iZWFucy5mYWN0b3J5LmNvbmZpZy5CZWFuRGVm aW5pdGlvbiwgb3JnLnNwcmluZ2ZyYW1ld29yay5iZWFucy5CZWFuV3JhcHBlciwgb3JnLnNwcmlu Z2ZyYW1ld29yay5iZWFucy5Qcm9wZXJ0eVZhbHVlcykgQGJjaT0yMTcsIGxpbmU9MTI0NSAoSW50 ZXJwcmV0ZWQgZnJhbWUpCiAtIG9yZy5zcHJpbmdmcmFtZXdvcmsuYmVhbnMuZmFjdG9yeS5zdXBw b3J0LkFic3RyYWN0QXV0b3dpcmVDYXBhYmxlQmVhbkZhY3RvcnkucG9wdWxhdGVCZWFuKGphdmEu bGFuZy5TdHJpbmcsIG9yZy5zcHJpbmdmcmFtZXdvcmsuYmVhbnMuZmFjdG9yeS5zdXBwb3J0LkFi c3RyYWN0QmVhbkRlZmluaXRpb24sIG9yZy5zcHJpbmdmcmFtZXdvcmsuYmVhbnMuQmVhbldyYXBw ZXIpIEBiY2k9MzM5LCBsaW5lPTEwMTAgKEludGVycHJldGVkIGZyYW1lKQogLSBvcmcuc3ByaW5n ZnJhbWV3b3JrLmJlYW5zLmZhY3Rvcnkuc3VwcG9ydC5BYnN0cmFjdEF1dG93aXJlQ2FwYWJsZUJl YW5GYWN0b3J5LmRvQ3JlYXRlQmVhbihqYXZhLmxhbmcuU3RyaW5nLCBvcmcuc3ByaW5nZnJhbWV3 b3JrLmJlYW5zLmZhY3Rvcnkuc3VwcG9ydC5Sb290QmVhbkRlZmluaXRpb24sIGphdmEubGFuZy5P YmplY3RbXSkgQGJjaT0yMjQsIGxpbmU9NDcyIChJbnRlcnByZXRlZCBmcmFtZSkKIC0gb3JnLnNw cmluZ2ZyYW1ld29yay5iZWFucy5mYWN0b3J5LnN1cHBvcnQuQWJzdHJhY3RBdXRvd2lyZUNhcGFi bGVCZWFuRmFjdG9yeSQxLnJ1bigpIEBiY2k9MTY3LCBsaW5lPTQwOSAoSW50ZXJwcmV0ZWQgZnJh bWUpCiAtIGphdmEuc2VjdXJpdHkuQWNjZXNzQ29udHJvbGxlci5kb1ByaXZpbGVnZWQoamF2YS5z ZWN1cml0eS5Qcml2aWxlZ2VkQWN0aW9uLCBqYXZhLnNlY3VyaXR5LkFjY2Vzc0NvbnRyb2xDb250 ZXh0KSBAYmNpPTAgKEludGVycHJldGVkIGZyYW1lKQogLSBvcmcuc3ByaW5nZnJhbWV3b3JrLmJl YW5zLmZhY3Rvcnkuc3VwcG9ydC5BYnN0cmFjdEF1dG93aXJlQ2FwYWJsZUJlYW5GYWN0b3J5LmNy ZWF0ZUJlYW4oamF2YS5sYW5nLlN0cmluZywgb3JnLnNwcmluZ2ZyYW1ld29yay5iZWFucy5mYWN0 b3J5LnN1cHBvcnQuUm9vdEJlYW5EZWZpbml0aW9uLCBqYXZhLmxhbmcuT2JqZWN0W10pIEBiY2k9 MTgsIGxpbmU9MzgwIChJbnRlcnByZXRlZCBmcmFtZSkKIC0gb3JnLnNwcmluZ2ZyYW1ld29yay5i ZWFucy5mYWN0b3J5LnN1cHBvcnQuQWJzdHJhY3RCZWFuRmFjdG9yeSQxLmdldE9iamVjdCgpIEBi Y2k9MTYsIGxpbmU9MjY0IChJbnRlcnByZXRlZCBmcmFtZSkKIC0gb3JnLnNwcmluZ2ZyYW1ld29y ay5iZWFucy5mYWN0b3J5LnN1cHBvcnQuRGVmYXVsdFNpbmdsZXRvbkJlYW5SZWdpc3RyeS5nZXRT aW5nbGV0b24oamF2YS5sYW5nLlN0cmluZywgb3JnLnNwcmluZ2ZyYW1ld29yay5iZWFucy5mYWN0 b3J5Lk9iamVjdEZhY3RvcnkpIEBiY2k9MTI5LCBsaW5lPTIyMiAoSW50ZXJwcmV0ZWQgZnJhbWUp CiAtIG9yZy5zcHJpbmdmcmFtZXdvcmsuYmVhbnMuZmFjdG9yeS5zdXBwb3J0LkFic3RyYWN0QmVh bkZhY3RvcnkuZG9HZXRCZWFuKGphdmEubGFuZy5TdHJpbmcsIGphdmEubGFuZy5DbGFzcywgamF2 YS5sYW5nLk9iamVjdFtdLCBib29sZWFuKSBAYmNpPTMwOSwgbGluZT0yNjEgKEludGVycHJldGVk IGZyYW1lKQogLSBvcmcuc3ByaW5nZnJhbWV3b3JrLmJlYW5zLmZhY3Rvcnkuc3VwcG9ydC5BYnN0 cmFjdEJlYW5GYWN0b3J5LmdldEJlYW4oamF2YS5sYW5nLlN0cmluZywgamF2YS5sYW5nLkNsYXNz LCBqYXZhLmxhbmcuT2JqZWN0W10pIEBiY2k9NSwgbGluZT0xODUgKEludGVycHJldGVkIGZyYW1l KQogLSBvcmcuc3ByaW5nZnJhbWV3b3JrLmJlYW5zLmZhY3Rvcnkuc3VwcG9ydC5BYnN0cmFjdEJl YW5GYWN0b3J5LmdldEJlYW4oamF2YS5sYW5nLlN0cmluZykgQGJjaT00LCBsaW5lPTE2NCAoSW50 ZXJwcmV0ZWQgZnJhbWUpCiAtIG9yZy5zcHJpbmdmcmFtZXdvcmsuYmVhbnMuZmFjdG9yeS5zdXBw b3J0LkJlYW5EZWZpbml0aW9uVmFsdWVSZXNvbHZlci5yZXNvbHZlUmVmZXJlbmNlKGphdmEubGFu Zy5PYmplY3QsIG9yZy5zcHJpbmdmcmFtZXdvcmsuYmVhbnMuZmFjdG9yeS5jb25maWcuUnVudGlt ZUJlYW5SZWZlcmVuY2UpIEBiY2k9OTIsIGxpbmU9MjY5IChJbnRlcnByZXRlZCBmcmFtZSkKIC0g b3JnLnNwcmluZ2ZyYW1ld29yay5iZWFucy5mYWN0b3J5LnN1cHBvcnQuQmVhbkRlZmluaXRpb25W YWx1ZVJlc29sdmVyLnJlc29sdmVWYWx1ZUlmTmVjZXNzYXJ5KGphdmEubGFuZy5PYmplY3QsIGph dmEubGFuZy5PYmplY3QpIEBiY2k9MTUsIGxpbmU9MTA0IChJbnRlcnByZXRlZCBmcmFtZSkKIC0g b3JnLnNwcmluZ2ZyYW1ld29yay5iZWFucy5mYWN0b3J5LnN1cHBvcnQuQWJzdHJhY3RBdXRvd2ly ZUNhcGFibGVCZWFuRmFjdG9yeS5hcHBseVByb3BlcnR5VmFsdWVzKGphdmEubGFuZy5TdHJpbmcs IG9yZy5zcHJpbmdmcmFtZXdvcmsuYmVhbnMuZmFjdG9yeS5jb25maWcuQmVhbkRlZmluaXRpb24s IG9yZy5zcHJpbmdmcmFtZXdvcmsuYmVhbnMuQmVhbldyYXBwZXIsIG9yZy5zcHJpbmdmcmFtZXdv cmsuYmVhbnMuUHJvcGVydHlWYWx1ZXMpIEBiY2k9MjE3LCBsaW5lPTEyNDUgKEludGVycHJldGVk IGZyYW1lKQogLSBvcmcuc3ByaW5nZnJhbWV3b3JrLmJlYW5zLmZhY3Rvcnkuc3VwcG9ydC5BYnN0 cmFjdEF1dG93aXJlQ2FwYWJsZUJlYW5GYWN0b3J5LnBvcHVsYXRlQmVhbihqYXZhLmxhbmcuU3Ry aW5nLCBvcmcuc3ByaW5nZnJhbWV3b3JrLmJlYW5zLmZhY3Rvcnkuc3VwcG9ydC5BYnN0cmFjdEJl YW5EZWZpbml0aW9uLCBvcmcuc3ByaW5nZnJhbWV3b3JrLmJlYW5zLkJlYW5XcmFwcGVyKSBAYmNp PTMzOSwgbGluZT0xMDEwIChJbnRlcnByZXRlZCBmcmFtZSkKIC0gb3JnLnNwcmluZ2ZyYW1ld29y ay5iZWFucy5mYWN0b3J5LnN1cHBvcnQuQWJzdHJhY3RBdXRvd2lyZUNhcGFibGVCZWFuRmFjdG9y eS5kb0NyZWF0ZUJlYW4oamF2YS5sYW5nLlN0cmluZywgb3JnLnNwcmluZ2ZyYW1ld29yay5iZWFu cy5mYWN0b3J5LnN1cHBvcnQuUm9vdEJlYW5EZWZpbml0aW9uLCBqYXZhLmxhbmcuT2JqZWN0W10p IEBiY2k9MjI0LCBsaW5lPTQ3MiAoSW50ZXJwcmV0ZWQgZnJhbWUpCiAtIG9yZy5zcHJpbmdmcmFt ZXdvcmsuYmVhbnMuZmFjdG9yeS5zdXBwb3J0LkFic3RyYWN0QXV0b3dpcmVDYXBhYmxlQmVhbkZh Y3RvcnkkMS5ydW4oKSBAYmNpPTE2NywgbGluZT00MDkgKEludGVycHJldGVkIGZyYW1lKQogLSBq YXZhLnNlY3VyaXR5LkFjY2Vzc0NvbnRyb2xsZXIuZG9Qcml2aWxlZ2VkKGphdmEuc2VjdXJpdHku UHJpdmlsZWdlZEFjdGlvbiwgamF2YS5zZWN1cml0eS5BY2Nlc3NDb250cm9sQ29udGV4dCkgQGJj aT0wIChJbnRlcnByZXRlZCBmcmFtZSkKIC0gb3JnLnNwcmluZ2ZyYW1ld29yay5iZWFucy5mYWN0 b3J5LnN1cHBvcnQuQWJzdHJhY3RBdXRvd2lyZUNhcGFibGVCZWFuRmFjdG9yeS5jcmVhdGVCZWFu KGphdmEubGFuZy5TdHJpbmcsIG9yZy5zcHJpbmdmcmFtZXdvcmsuYmVhbnMuZmFjdG9yeS5zdXBw b3J0LlJvb3RCZWFuRGVmaW5pdGlvbiwgamF2YS5sYW5nLk9iamVjdFtdKSBAYmNpPTE4LCBsaW5l PTM4MCAoSW50ZXJwcmV0ZWQgZnJhbWUpCiAtIG9yZy5zcHJpbmdmcmFtZXdvcmsuYmVhbnMuZmFj dG9yeS5zdXBwb3J0LkFic3RyYWN0QmVhbkZhY3RvcnkkMS5nZXRPYmplY3QoKSBAYmNpPTE2LCBs aW5lPTI2NCAoSW50ZXJwcmV0ZWQgZnJhbWUpCiAtIG9yZy5zcHJpbmdmcmFtZXdvcmsuYmVhbnMu ZmFjdG9yeS5zdXBwb3J0LkRlZmF1bHRTaW5nbGV0b25CZWFuUmVnaXN0cnkuZ2V0U2luZ2xldG9u KGphdmEubGFuZy5TdHJpbmcsIG9yZy5zcHJpbmdmcmFtZXdvcmsuYmVhbnMuZmFjdG9yeS5PYmpl Y3RGYWN0b3J5KSBAYmNpPTEyOSwgbGluZT0yMjIgKEludGVycHJldGVkIGZyYW1lKQogLSBvcmcu c3ByaW5nZnJhbWV3b3JrLmJlYW5zLmZhY3Rvcnkuc3VwcG9ydC5BYnN0cmFjdEJlYW5GYWN0b3J5 LmRvR2V0QmVhbihqYXZhLmxhbmcuU3RyaW5nLCBqYXZhLmxhbmcuQ2xhc3MsIGphdmEubGFuZy5P YmplY3RbXSwgYm9vbGVhbikgQGJjaT0zMDksIGxpbmU9MjYxIChJbnRlcnByZXRlZCBmcmFtZSkK IC0gb3JnLnNwcmluZ2ZyYW1ld29yay5iZWFucy5mYWN0b3J5LnN1cHBvcnQuQWJzdHJhY3RCZWFu RmFjdG9yeS5nZXRCZWFuKGphdmEubGFuZy5TdHJpbmcsIGphdmEubGFuZy5DbGFzcywgamF2YS5s YW5nLk9iamVjdFtdKSBAYmNpPTUsIGxpbmU9MTg1IChJbnRlcnByZXRlZCBmcmFtZSkKIC0gb3Jn LnNwcmluZ2ZyYW1ld29yay5iZWFucy5mYWN0b3J5LnN1cHBvcnQuQWJzdHJhY3RCZWFuRmFjdG9y eS5nZXRCZWFuKGphdmEubGFuZy5TdHJpbmcpIEBiY2k9NCwgbGluZT0xNjQgKEludGVycHJldGVk IGZyYW1lKQogLSBvcmcuc3ByaW5nZnJhbWV3b3JrLmJlYW5zLmZhY3Rvcnkuc3VwcG9ydC5CZWFu RGVmaW5pdGlvblZhbHVlUmVzb2x2ZXIucmVzb2x2ZVJlZmVyZW5jZShqYXZhLmxhbmcuT2JqZWN0 LCBvcmcuc3ByaW5nZnJhbWV3b3JrLmJlYW5zLmZhY3RvcnkuY29uZmlnLlJ1bnRpbWVCZWFuUmVm ZXJlbmNlKSBAYmNpPTkyLCBsaW5lPTI2OSAoSW50ZXJwcmV0ZWQgZnJhbWUpCiAtIG9yZy5zcHJp bmdmcmFtZXdvcmsuYmVhbnMuZmFjdG9yeS5zdXBwb3J0LkJlYW5EZWZpbml0aW9uVmFsdWVSZXNv bHZlci5yZXNvbHZlVmFsdWVJZk5lY2Vzc2FyeShqYXZhLmxhbmcuT2JqZWN0LCBqYXZhLmxhbmcu T2JqZWN0KSBAYmNpPTE1LCBsaW5lPTEwNCAoSW50ZXJwcmV0ZWQgZnJhbWUpCiAtIG9yZy5zcHJp bmdmcmFtZXdvcmsuYmVhbnMuZmFjdG9yeS5zdXBwb3J0LkFic3RyYWN0QXV0b3dpcmVDYXBhYmxl QmVhbkZhY3RvcnkuYXBwbHlQcm9wZXJ0eVZhbHVlcyhqYXZhLmxhbmcuU3RyaW5nLCBvcmcuc3By aW5nZnJhbWV3b3JrLmJlYW5zLmZhY3RvcnkuY29uZmlnLkJlYW5EZWZpbml0aW9uLCBvcmcuc3By aW5nZnJhbWV3b3JrLmJlYW5zLkJlYW5XcmFwcGVyLCBvcmcuc3ByaW5nZnJhbWV3b3JrLmJlYW5z LlByb3BlcnR5VmFsdWVzKSBAYmNpPTIxNywgbGluZT0xMjQ1IChJbnRlcnByZXRlZCBmcmFtZSkK IC0gb3JnLnNwcmluZ2ZyYW1ld29yay5iZWFucy5mYWN0b3J5LnN1cHBvcnQuQWJzdHJhY3RBdXRv d2lyZUNhcGFibGVCZWFuRmFjdG9yeS5wb3B1bGF0ZUJlYW4oamF2YS5sYW5nLlN0cmluZywgb3Jn LnNwcmluZ2ZyYW1ld29yay5iZWFucy5mYWN0b3J5LnN1cHBvcnQuQWJzdHJhY3RCZWFuRGVmaW5p dGlvbiwgb3JnLnNwcmluZ2ZyYW1ld29yay5iZWFucy5CZWFuV3JhcHBlcikgQGJjaT0zMzksIGxp bmU9MTAxMCAoSW50ZXJwcmV0ZWQgZnJhbWUpCiAtIG9yZy5zcHJpbmdmcmFtZXdvcmsuYmVhbnMu ZmFjdG9yeS5zdXBwb3J0LkFic3RyYWN0QXV0b3dpcmVDYXBhYmxlQmVhbkZhY3RvcnkuZG9DcmVh dGVCZWFuKGphdmEubGFuZy5TdHJpbmcsIG9yZy5zcHJpbmdmcmFtZXdvcmsuYmVhbnMuZmFjdG9y eS5zdXBwb3J0LlJvb3RCZWFuRGVmaW5pdGlvbiwgamF2YS5sYW5nLk9iamVjdFtdKSBAYmNpPTIy NCwgbGluZT00NzIgKEludGVycHJldGVkIGZyYW1lKQogLSBvcmcuc3ByaW5nZnJhbWV3b3JrLmJl YW5zLmZhY3Rvcnkuc3VwcG9ydC5BYnN0cmFjdEF1dG93aXJlQ2FwYWJsZUJlYW5GYWN0b3J5JDEu cnVuKCkgQGJjaT0xNjcsIGxpbmU9NDA5IChJbnRlcnByZXRlZCBmcmFtZSkKIC0gamF2YS5zZWN1 cml0eS5BY2Nlc3NDb250cm9sbGVyLmRvUHJpdmlsZWdlZChqYXZhLnNlY3VyaXR5LlByaXZpbGVn ZWRBY3Rpb24sIGphdmEuc2VjdXJpdHkuQWNjZXNzQ29udHJvbENvbnRleHQpIEBiY2k9MCAoSW50 ZXJwcmV0ZWQgZnJhbWUpCiAtIG9yZy5zcHJpbmdmcmFtZXdvcmsuYmVhbnMuZmFjdG9yeS5zdXBw b3J0LkFic3RyYWN0QXV0b3dpcmVDYXBhYmxlQmVhbkZhY3RvcnkuY3JlYXRlQmVhbihqYXZhLmxh bmcuU3RyaW5nLCBvcmcuc3ByaW5nZnJhbWV3b3JrLmJlYW5zLmZhY3Rvcnkuc3VwcG9ydC5Sb290 QmVhbkRlZmluaXRpb24sIGphdmEubGFuZy5PYmplY3RbXSkgQGJjaT0xOCwgbGluZT0zODAgKElu dGVycHJldGVkIGZyYW1lKQogLSBvcmcuc3ByaW5nZnJhbWV3b3JrLmJlYW5zLmZhY3Rvcnkuc3Vw cG9ydC5BYnN0cmFjdEJlYW5GYWN0b3J5JDEuZ2V0T2JqZWN0KCkgQGJjaT0xNiwgbGluZT0yNjQg KEludGVycHJldGVkIGZyYW1lKQogLSBvcmcuc3ByaW5nZnJhbWV3b3JrLmJlYW5zLmZhY3Rvcnku c3VwcG9ydC5EZWZhdWx0U2luZ2xldG9uQmVhblJlZ2lzdHJ5LmdldFNpbmdsZXRvbihqYXZhLmxh bmcuU3RyaW5nLCBvcmcuc3ByaW5nZnJhbWV3b3JrLmJlYW5zLmZhY3RvcnkuT2JqZWN0RmFjdG9y eSkgQGJjaT0xMjksIGxpbmU9MjIyIChJbnRlcnByZXRlZCBmcmFtZSkKIC0gb3JnLnNwcmluZ2Zy YW1ld29yay5iZWFucy5mYWN0b3J5LnN1cHBvcnQuQWJzdHJhY3RCZWFuRmFjdG9yeS5kb0dldEJl YW4oamF2YS5sYW5nLlN0cmluZywgamF2YS5sYW5nLkNsYXNzLCBqYXZhLmxhbmcuT2JqZWN0W10s IGJvb2xlYW4pIEBiY2k9MzA5LCBsaW5lPTI2MSAoSW50ZXJwcmV0ZWQgZnJhbWUpCiAtIG9yZy5z cHJpbmdmcmFtZXdvcmsuYmVhbnMuZmFjdG9yeS5zdXBwb3J0LkFic3RyYWN0QmVhbkZhY3Rvcnku Z2V0QmVhbihqYXZhLmxhbmcuU3RyaW5nLCBqYXZhLmxhbmcuQ2xhc3MsIGphdmEubGFuZy5PYmpl Y3RbXSkgQGJjaT01LCBsaW5lPTE4NSAoSW50ZXJwcmV0ZWQgZnJhbWUpCiAtIG9yZy5zcHJpbmdm cmFtZXdvcmsuYmVhbnMuZmFjdG9yeS5zdXBwb3J0LkFic3RyYWN0QmVhbkZhY3RvcnkuZ2V0QmVh bihqYXZhLmxhbmcuU3RyaW5nKSBAYmNpPTQsIGxpbmU9MTY0IChJbnRlcnByZXRlZCBmcmFtZSkK IC0gb3JnLnNwcmluZ2ZyYW1ld29yay5iZWFucy5mYWN0b3J5LnN1cHBvcnQuRGVmYXVsdExpc3Rh YmxlQmVhbkZhY3RvcnkuZ2V0QmVhbnNPZlR5cGUoamF2YS5sYW5nLkNsYXNzLCBib29sZWFuLCBi b29sZWFuKSBAYmNpPTQ2LCBsaW5lPTMwOCAoSW50ZXJwcmV0ZWQgZnJhbWUpCiAtIG9yZy5zcHJp bmdmcmFtZXdvcmsuY29udGV4dC5zdXBwb3J0LkFic3RyYWN0QXBwbGljYXRpb25Db250ZXh0Lmdl dEJlYW5zT2ZUeXBlKGphdmEubGFuZy5DbGFzcywgYm9vbGVhbiwgYm9vbGVhbikgQGJjaT03LCBs aW5lPTk0NyAoSW50ZXJwcmV0ZWQgZnJhbWUpCiAtIG9yZy5zcHJpbmdmcmFtZXdvcmsuY29udGV4 dC5zdXBwb3J0LkFic3RyYWN0QXBwbGljYXRpb25Db250ZXh0LnJlZ2lzdGVyTGlzdGVuZXJzKCkg QGJjaT02MCwgbGluZT03MDEgKEludGVycHJldGVkIGZyYW1lKQogLSBvcmcuc3ByaW5nZnJhbWV3 b3JrLmNvbnRleHQuc3VwcG9ydC5BYnN0cmFjdEFwcGxpY2F0aW9uQ29udGV4dC5yZWZyZXNoKCkg QGJjaT00OSwgbGluZT0zNzcgKEludGVycHJldGVkIGZyYW1lKQogLSBvcmcuc3ByaW5nZnJhbWV3 b3JrLndlYi5jb250ZXh0LkNvbnRleHRMb2FkZXIuY3JlYXRlV2ViQXBwbGljYXRpb25Db250ZXh0 KGphdmF4LnNlcnZsZXQuU2VydmxldENvbnRleHQsIG9yZy5zcHJpbmdmcmFtZXdvcmsuY29udGV4 dC5BcHBsaWNhdGlvbkNvbnRleHQpIEBiY2k9MTUwLCBsaW5lPTI1NSAoSW50ZXJwcmV0ZWQgZnJh bWUpCiAtIG9yZy5zcHJpbmdmcmFtZXdvcmsud2ViLmNvbnRleHQuQ29udGV4dExvYWRlci5pbml0 V2ViQXBwbGljYXRpb25Db250ZXh0KGphdmF4LnNlcnZsZXQuU2VydmxldENvbnRleHQpIEBiY2k9 NjcsIGxpbmU9MTk5IChJbnRlcnByZXRlZCBmcmFtZSkKIC0gb3JnLnNwcmluZ2ZyYW1ld29yay53 ZWIuY29udGV4dC5Db250ZXh0TG9hZGVyTGlzdGVuZXIuY29udGV4dEluaXRpYWxpemVkKGphdmF4 LnNlcnZsZXQuU2VydmxldENvbnRleHRFdmVudCkgQGJjaT0xNiwgbGluZT00NSAoSW50ZXJwcmV0 ZWQgZnJhbWUpCiAtIG9yZy5hcGFjaGUuY2F0YWxpbmEuY29yZS5TdGFuZGFyZENvbnRleHQubGlz dGVuZXJTdGFydCgpIEBiY2k9NDI5LCBsaW5lPTM3NjQgKEludGVycHJldGVkIGZyYW1lKQogLSBv cmcuYXBhY2hlLmNhdGFsaW5hLmNvcmUuU3RhbmRhcmRDb250ZXh0LnN0YXJ0KCkgQGJjaT0xMTc4 LCBsaW5lPTQyMTYgKEludGVycHJldGVkIGZyYW1lKQogLSBvcmcuYXBhY2hlLmNhdGFsaW5hLmNv cmUuQ29udGFpbmVyQmFzZS5hZGRDaGlsZEludGVybmFsKG9yZy5hcGFjaGUuY2F0YWxpbmEuQ29u dGFpbmVyKSBAYmNpPTE0OSwgbGluZT03NjAgKEludGVycHJldGVkIGZyYW1lKQogLSBvcmcuYXBh Y2hlLmNhdGFsaW5hLmNvcmUuQ29udGFpbmVyQmFzZS5hZGRDaGlsZChvcmcuYXBhY2hlLmNhdGFs aW5hLkNvbnRhaW5lcikgQGJjaT0yNiwgbGluZT03NDAgKEludGVycHJldGVkIGZyYW1lKQogLSBv cmcuYXBhY2hlLmNhdGFsaW5hLmNvcmUuU3RhbmRhcmRIb3N0LmFkZENoaWxkKG9yZy5hcGFjaGUu Y2F0YWxpbmEuQ29udGFpbmVyKSBAYmNpPTI1LCBsaW5lPTU0NCAoSW50ZXJwcmV0ZWQgZnJhbWUp CiAtIG9yZy5hcGFjaGUuY2F0YWxpbmEuc3RhcnR1cC5Ib3N0Q29uZmlnLmRlcGxveURpcmVjdG9y eShqYXZhLmxhbmcuU3RyaW5nLCBqYXZhLmlvLkZpbGUsIGphdmEubGFuZy5TdHJpbmcpIEBiY2k9 MTYwLCBsaW5lPTkyMCAoSW50ZXJwcmV0ZWQgZnJhbWUpCiAtIG9yZy5hcGFjaGUuY2F0YWxpbmEu c3RhcnR1cC5Ib3N0Q29uZmlnLmRlcGxveURpcmVjdG9yaWVzKGphdmEuaW8uRmlsZSwgamF2YS5s YW5nLlN0cmluZ1tdKSBAYmNpPTEyMCwgbGluZT04ODMgKEludGVycHJldGVkIGZyYW1lKQogLSBv cmcuYXBhY2hlLmNhdGFsaW5hLnN0YXJ0dXAuSG9zdENvbmZpZy5kZXBsb3lBcHBzKCkgQGJjaT0z NCwgbGluZT00OTIgKEludGVycHJldGVkIGZyYW1lKQogLSBvcmcuYXBhY2hlLmNhdGFsaW5hLnN0 YXJ0dXAuSG9zdENvbmZpZy5zdGFydCgpIEBiY2k9MTQ3LCBsaW5lPTExMzggKEludGVycHJldGVk IGZyYW1lKQogLSBvcmcuYXBhY2hlLmNhdGFsaW5hLnN0YXJ0dXAuSG9zdENvbmZpZy5saWZlY3lj bGVFdmVudChvcmcuYXBhY2hlLmNhdGFsaW5hLkxpZmVjeWNsZUV2ZW50KSBAYmNpPTEzMiwgbGlu ZT0zMTEgKEludGVycHJldGVkIGZyYW1lKQogLSBvcmcuYXBhY2hlLmNhdGFsaW5hLnV0aWwuTGlm ZWN5Y2xlU3VwcG9ydC5maXJlTGlmZWN5Y2xlRXZlbnQoamF2YS5sYW5nLlN0cmluZywgamF2YS5s YW5nLk9iamVjdCkgQGJjaT02OCwgbGluZT0xMjAgKEludGVycHJldGVkIGZyYW1lKQogLSBvcmcu YXBhY2hlLmNhdGFsaW5hLmNvcmUuQ29udGFpbmVyQmFzZS5zdGFydCgpIEBiY2k9MzA2LCBsaW5l PTEwMjIgKEludGVycHJldGVkIGZyYW1lKQogLSBvcmcuYXBhY2hlLmNhdGFsaW5hLmNvcmUuU3Rh bmRhcmRIb3N0LnN0YXJ0KCkgQGJjaT0zMDMsIGxpbmU9NzM2IChJbnRlcnByZXRlZCBmcmFtZSkK IC0gb3JnLmFwYWNoZS5jYXRhbGluYS5jb3JlLkNvbnRhaW5lckJhc2Uuc3RhcnQoKSBAYmNpPTI2 NiwgbGluZT0xMDE0IChJbnRlcnByZXRlZCBmcmFtZSkKIC0gb3JnLmFwYWNoZS5jYXRhbGluYS5j b3JlLlN0YW5kYXJkRW5naW5lLnN0YXJ0KCkgQGJjaT0yMjEsIGxpbmU9NDQzIChJbnRlcnByZXRl ZCBmcmFtZSkKIC0gb3JnLmFwYWNoZS5jYXRhbGluYS5jb3JlLlN0YW5kYXJkU2VydmljZS5zdGFy dCgpIEBiY2k9MTMyLCBsaW5lPTQ0OCAoSW50ZXJwcmV0ZWQgZnJhbWUpCiAtIG9yZy5hcGFjaGUu Y2F0YWxpbmEuY29yZS5TdGFuZGFyZFNlcnZlci5zdGFydCgpIEBiY2k9ODgsIGxpbmU9NzAwIChJ bnRlcnByZXRlZCBmcmFtZSkKIC0gb3JnLmFwYWNoZS5jYXRhbGluYS5zdGFydHVwLkNhdGFsaW5h LnN0YXJ0KCkgQGJjaT0zMiwgbGluZT01NTIgKEludGVycHJldGVkIGZyYW1lKQogLSBzdW4ucmVm bGVjdC5OYXRpdmVNZXRob2RBY2Nlc3NvckltcGwuaW52b2tlMChqYXZhLmxhbmcucmVmbGVjdC5N ZXRob2QsIGphdmEubGFuZy5PYmplY3QsIGphdmEubGFuZy5PYmplY3RbXSkgQGJjaT0wIChJbnRl cnByZXRlZCBmcmFtZSkKIC0gc3VuLnJlZmxlY3QuTmF0aXZlTWV0aG9kQWNjZXNzb3JJbXBsLmlu dm9rZShqYXZhLmxhbmcuT2JqZWN0LCBqYXZhLmxhbmcuT2JqZWN0W10pIEBiY2k9ODcsIGxpbmU9 MzkgKEludGVycHJldGVkIGZyYW1lKQogLSBzdW4ucmVmbGVjdC5EZWxlZ2F0aW5nTWV0aG9kQWNj ZXNzb3JJbXBsLmludm9rZShqYXZhLmxhbmcuT2JqZWN0LCBqYXZhLmxhbmcuT2JqZWN0W10pIEBi Y2k9NiwgbGluZT0yNSAoSW50ZXJwcmV0ZWQgZnJhbWUpCiAtIGphdmEubGFuZy5yZWZsZWN0Lk1l dGhvZC5pbnZva2UoamF2YS5sYW5nLk9iamVjdCwgamF2YS5sYW5nLk9iamVjdFtdKSBAYmNpPTE2 MSwgbGluZT01OTcgKEludGVycHJldGVkIGZyYW1lKQogLSBvcmcuYXBhY2hlLmNhdGFsaW5hLnN0 YXJ0dXAuQm9vdHN0cmFwLnN0YXJ0KCkgQGJjaT0zNywgbGluZT0yOTUgKEludGVycHJldGVkIGZy YW1lKQogLSBvcmcuYXBhY2hlLmNhdGFsaW5hLnN0YXJ0dXAuQm9vdHN0cmFwLm1haW4oamF2YS5s YW5nLlN0cmluZ1tdKSBAYmNpPTE1OCwgbGluZT00MzMgKEludGVycHJldGVkIGZyYW1lKQo= --001485f9119a85947104729cfe08 Content-Type: text/plain; charset=us-ascii --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org For additional commands, e-mail: users-help@tomcat.apache.org --001485f9119a85947104729cfe08--