Re: TomEE does not launch on Java 24

Wolfgang Knauf <[email protected]> Sat, 12 Jul 2025 11:14:18 +0200
Newsgroups gmane.comp.java.openejb.user
Message-ID <[email protected]>
--------------94TnT81bAeMoOZw2JAMmWM2d
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: quoted-printable

There might be a problem with snapshot=20
"apache-tomee-10.1.1-20250712.035301-33-webprofile.zip"

(by the way: I cannot click the download links in a browser, had to use=20
"wget" to download it. Tried two different browsers and two OS)


I tested it with an arquillian project, where the tomee container is=20
pulled from maven and managed by=20
"org.apache.tomee:arquillian-tomee-remote", so I had to replace the=20
10.1.0 version in my local maven repository with the snapshot (replaced=20
"C:\Users\MYUSERNAME\.m2\repository\org\apache\tomee\apache-tomee\10.1.0\a=
pache-tomee-10.1.0-webprofile.zip"=20
with snapshot file and renamed directory=20
"apache-tomee-webprofile-10.1.1-SNAPSHOT" to=20
"apache-tomee-webprofile-10.1.0" in zip).

Attached is the output of a maven run using Java 24. At some point, it=20
starts printing thousands of errors:

java.util.concurrent.ExecutionException:=20
java.lang.IllegalArgumentException: can't parse argument number:
	at java.base/java.util.concurrent.FutureTask.report(FutureTask.java:124)
	at java.base/java.util.concurrent.FutureTask.get(FutureTask.java:193)
	at org.apache.openejb.util.Memoizer.compute(Memoizer.java:63)
	at org.apache.openejb.util.Logger.formatMessage(Logger.java:398)
	at org.apache.openejb.util.Logger.warning(Logger.java:643)
	at=20
org.apache.openejb.core.security.AbstractSecurityService.isCallerAuthorize=
d(AbstractSecurityService.java:398)
	at=20
org.apache.openejb.core.singleton.SingletonContainer.invoke(SingletonConta=
iner.java:192)
	at=20
org.apache.openejb.core.ivm.EjbHomeProxyHandler.create(EjbHomeProxyHandler=
.java:343)
	at=20
org.apache.openejb.core.ivm.EjbHomeProxyHandler._invoke(EjbHomeProxyHandle=
r.java:196)
	at=20
org.apache.openejb.core.ivm.BaseEjbProxyHandler.invoke(BaseEjbProxyHandler=
.java:349)
	at jdk.proxy3/jdk.proxy3.$Proxy30.create(Unknown Source)
	at=20
org.apache.openejb.core.ivm.naming.BusinessRemoteReference.getObject(Busin=
essRemoteReference.java:36)
	at=20
org.apache.openejb.core.ivm.naming.IvmContext.lookup(IvmContext.java:186)
	at=20
org.apache.openejb.server.ejbd.JndiRequestHandler.doLookup(JndiRequestHand=
ler.java:261)
	at=20
org.apache.openejb.server.ejbd.JndiRequestHandler.processResponse(JndiRequ=
estHandler.java:174)
	at=20
org.apache.openejb.server.ejbd.EjbDaemon.processJndiResponse(EjbDaemon.jav=
a:380)
	at org.apache.openejb.server.ejbd.EjbDaemon.service(EjbDaemon.java:282)
	at org.apache.openejb.server.ejbd.EjbServer.service(EjbServer.java:104)
	at=20
org.apache.openejb.server.httpd.ServerServlet.service(ServerServlet.java:6=
0)
	at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658)
	at=20
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applicati=
onFilterChain.java:195)
	at=20
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilter=
Chain.java:140)
	at=20
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.=
java:167)
	at=20
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.=
java:90)
	at org.apache.tomee.catalina.OpenEJBValve.invoke(OpenEJBValve.java:45)
	at=20
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:1=
16)
	at=20
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:9=
3)
	at=20
org.apache.tomee.catalina.OpenEJBSecurityListener$RequestCapturer.invoke(O=
penEJBSecurityListener.java:97)
	at=20
org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLog=
Valve.java:666)
	at=20
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.ja=
va:74)
	at=20
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344=
)
	at=20
org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:398)
	at=20
org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.ja=
va:63)
	at=20
org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProto=
col.java:903)
	at=20
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.j=
ava:1769)
	at=20
org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.jav=
a:52)
	at=20
org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExec=
utor.java:1189)
	at=20
org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExe=
cutor.java:658)
	at=20
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.=
java:63)
	at java.base/java.lang.Thread.run(Thread.java:1447)
Caused by: java.lang.IllegalArgumentException: can't parse argument number=
:
	at=20
java.base/java.text.MessageFormat.setFormatFromPattern(MessageFormat.java:=
1644)
	at=20
java.base/java.text.MessageFormat.applyPatternImpl(MessageFormat.java:660)
	at java.base/java.text.MessageFormat.<init>(MessageFormat.java:516)
	at org.apache.openejb.util.Memoizer$1.call(Memoizer.java:52)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:328)
	at org.apache.openejb.util.Memoizer.compute(Memoizer.java:59)
	... 37 more
Caused by: java.lang.NumberFormatException: For input string: ""
	at=20
java.base/java.lang.NumberFormatException.forInputString(NumberFormatExcep=
tion.java:67)
	at java.base/java.lang.Integer.parseInt(Integer.java:541)
	at java.base/java.lang.Integer.parseInt(Integer.java:661)
	at=20
java.base/java.text.MessageFormat.setFormatFromPattern(MessageFormat.java:=
1642)
	... 42 more

Seems the server is not stopped or it takes too long to print all thoses=
=20
errors, I killed it after a few seconds an 1GB of log file ;-)

The project where the issue occured uses arquillian and=20
"org.apache.tomee:arquillian-tomee-remote". In the failed run, I still=20
used 10.1.0 of this plugin, without trying to replace it with a snapshot=
=20
version. Is it maybe caused by this one?


Best regards

Wolfgang

Am 11.07.25 um 22:14 schrieb Wolfgang Knauf:
> Thanks, great work.
>=20
> I will give it a try the next few days and report back if there are=20
> further problems.
>=20
> Best regards
>=20
> Wolfgang
>=20
> Am 11.07.25 um 14:15 schrieb Richard Zowalla:
>> Hi Wolfgang,
>>
>> we just pushed some changes, which should allow TomEE to run on Java=20
>> 24 (with some limitations regarding EJB method security, etc.)
>>
>> Nightlies should be available via https://repository.apache.org/=20
>> content/groups/snapshots/org/apache/tomee/apache-tomee/10.1.1-=20
>> SNAPSHOT/ soon.
>>
>> Gru=C3=9F
>> Richard
>>
>> On 2025/04/04 08:28:20 Wolfgang Knauf wrote:
>>> Hi all,
>>>
>>> (sorry if this is a duplicate one, I already sent it a few days ago,=
=20
>>> but as it did not appear, I think it might be related to the fact=20
>>> that I did not subscribe to the list)
>>>
>>> TomEE 10.0.1 fails to launch with Java 24:
>>>
>>> 01-Apr-2025 13:10:36.888 SCHWERWIEGEND [main]=20
>>> org.apache.openejb.util.OpenEJBErrorHandler.handleUnknownError FATAL=
=20
>>> ERROR: Unknown error in Assembler. Please send the following stack=20
>>> trace and this message to [email protected] :
>>> org.apache.xbean.recipe.ConstructionException: Error invoking=20
>>> constructor: public org.apache.tomee.catalina.TomcatSecurityService()
>>> =C2=A0=C2=A0 at=20
>>> org.apache.xbean.recipe.ReflectionUtil$ConstructorFactory.create(Refle=
ctionUtil.java:981)
>>> =C2=A0=C2=A0 at=20
>>> org.apache.xbean.recipe.ObjectRecipe.internalCreate(ObjectRecipe.java:=
279)
>>> =C2=A0=C2=A0 at=20
>>> org.apache.xbean.recipe.AbstractRecipe.create(AbstractRecipe.java:96)
>>> =C2=A0=C2=A0 at=20
>>> org.apache.xbean.recipe.AbstractRecipe.create(AbstractRecipe.java:61)
>>> =C2=A0=C2=A0 at=20
>>> org.apache.xbean.recipe.AbstractRecipe.create(AbstractRecipe.java:49)
>>> =C2=A0=C2=A0 at=20
>>> org.apache.openejb.assembler.classic.Assembler.createSecurityService(A=
ssembler.java:3553)
>>> =C2=A0=C2=A0 at=20
>>> org.apache.openejb.assembler.classic.Assembler.buildContainerSystem(As=
sembler.java:579)
>>> =C2=A0=C2=A0 at=20
>>> org.apache.openejb.assembler.classic.Assembler.build(Assembler.java:49=
7)
>>> =C2=A0=C2=A0 at org.apache.openejb.OpenEJB$Instance.<init>(OpenEJB.jav=
a:150)
>>> =C2=A0=C2=A0 at org.apache.openejb.OpenEJB.init(OpenEJB.java:307)
>>> =C2=A0=C2=A0 at=20
>>> org.apache.tomee.catalina.TomcatLoader.initialize(TomcatLoader.java:24=
4)
>>> =C2=A0=C2=A0 at=20
>>> org.apache.tomee.catalina.ServerListener.lifecycleEvent(ServerListener=
.java:161)
>>> =C2=A0=C2=A0 at=20
>>> org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBas=
e.java:109)
>>> =C2=A0=C2=A0 at=20
>>> org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.=
java:389)
>>> =C2=A0=C2=A0 at=20
>>> org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:123)
>>> =C2=A0=C2=A0 at org.apache.catalina.startup.Catalina.load(Catalina.jav=
a:712)
>>> =C2=A0=C2=A0 at org.apache.catalina.startup.Catalina.load(Catalina.jav=
a:735)
>>> =C2=A0=C2=A0 at java.base/=20
>>> jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHan=
dleAccessor.java:104)
>>> =C2=A0=C2=A0 at java.base/java.lang.reflect.Method.invoke(Method.java:=
565)
>>> =C2=A0=C2=A0 at org.apache.catalina.startup.Bootstrap.load(Bootstrap.j=
ava:302)
>>> =C2=A0=C2=A0 at org.apache.catalina.startup.Bootstrap.main(Bootstrap.j=
ava:472)
>>> Caused by: java.lang.IllegalStateException: Could not install JACC=20
>>> Policy Provider: org.apache.openejb.core.security.JaccProvider$Policy
>>> =C2=A0=C2=A0 at=20
>>> org.apache.openejb.core.security.AbstractSecurityService.installPolicy=
(AbstractSecurityService.java:443)
>>> =C2=A0=C2=A0 at=20
>>> org.apache.openejb.core.security.AbstractSecurityService.installJacc(A=
bstractSecurityService.java:431)
>>> =C2=A0=C2=A0 at=20
>>> org.apache.openejb.core.security.AbstractSecurityService.<init>(Abstra=
ctSecurityService.java:94)
>>> =C2=A0=C2=A0 at=20
>>> org.apache.openejb.core.security.AbstractSecurityService.<init>(Abstra=
ctSecurityService.java:88)
>>> =C2=A0=C2=A0 at=20
>>> org.apache.tomee.catalina.TomcatSecurityService.<init>(TomcatSecurityS=
ervice.java:55)
>>> =C2=A0=C2=A0 at java.base/=20
>>> jdk.internal.reflect.DirectConstructorHandleAccessor.newInstance(Direc=
tConstructorHandleAccessor.java:62)
>>> =C2=A0=C2=A0 at java.base/=20
>>> java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:4=
99)
>>> =C2=A0=C2=A0 at java.base/=20
>>> java.lang.reflect.Constructor.newInstance(Constructor.java:483)
>>> =C2=A0=C2=A0 at=20
>>> org.apache.xbean.recipe.ReflectionUtil$ConstructorFactory.create(Refle=
ctionUtil.java:971)
>>> ... 20 more
>>> Caused by: java.lang.UnsupportedOperationException: Setting a system-=
=20
>>> wide Policy object is not supported
>>> =C2=A0=C2=A0 at java.base/java.security.Policy.setPolicy(Policy.java:1=
14)
>>> =C2=A0=C2=A0 at=20
>>> org.apache.openejb.core.security.AbstractSecurityService.installPolicy=
(AbstractSecurityService.java:441)
>>> ... 28 more
>>>
>>>
>>>
>>> Is there something I should do about this (file a JIRA issue), or is=
=20
>>> the Java 24 support already on your roadmap?
>>>
>>> Best regards
>>>
>>> Wolfgang
>>>
>=20

--------------94TnT81bAeMoOZw2JAMmWM2d
Content-Type: text/plain; charset=UTF-8; name="log.txt"
Content-Disposition: attachment; filename="log.txt"
Content-Transfer-Encoding: base64

W0lORk9dIFNjYW5uaW5nIGZvciBwcm9qZWN0cy4uLg0KW0lORk9dIA0KW0lORk9dIC0tLS0t
LTwgb3JnLmpib3NzLmFycXVpbGxpYW4uZXh0ZW5zaW9uOmFycXVpbGxpYW4td2FycC1qc2Yt
ZnRlc3QgPi0tLS0tLQ0KW0lORk9dIEJ1aWxkaW5nIEFycXVpbGxpYW4gV2FycDogSlNGIEZ1
bmN0aW9uYWwgVGVzdHMgMi4xLjAuRmluYWwtU05BUFNIT1QNCltJTkZPXSAgIGZyb20gcG9t
LnhtbA0KW0lORk9dIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tWyBqYXIgXS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KW0lORk9dIA0KW0lORk9dIC0tLSBj
bGVhbjozLjQuMTpjbGVhbiAoZGVmYXVsdC1jbGVhbikgQCBhcnF1aWxsaWFuLXdhcnAtanNm
LWZ0ZXN0IC0tLQ0KW0lORk9dIERlbGV0aW5nIEM6XFRlbXBcZ2l0aHViXGFycXVpbGxpYW4t
ZXh0ZW5zaW9uLXdhcnBcZXh0ZW5zaW9uXGpzZi1mdGVzdFx0YXJnZXQNCltJTkZPXSANCltJ
TkZPXSAtLS0gZW5mb3JjZXI6My41LjA6ZW5mb3JjZSAoZW5mb3JjZS1qYXZhLXZlcnNpb24p
IEAgYXJxdWlsbGlhbi13YXJwLWpzZi1mdGVzdCAtLS0NCltJTkZPXSBSdWxlIDA6IG9yZy5h
cGFjaGUubWF2ZW4uZW5mb3JjZXIucnVsZXMuQmFubmVkUmVwb3NpdG9yaWVzIHBhc3NlZA0K
W0lORk9dIFJ1bGUgMTogb3JnLmFwYWNoZS5tYXZlbi5lbmZvcmNlci5ydWxlcy52ZXJzaW9u
LlJlcXVpcmVKYXZhVmVyc2lvbiBwYXNzZWQNCltJTkZPXSANCltJTkZPXSAtLS0gZW5mb3Jj
ZXI6My41LjA6ZW5mb3JjZSAoZW5mb3JjZS1tYXZlbi12ZXJzaW9uKSBAIGFycXVpbGxpYW4t
d2FycC1qc2YtZnRlc3QgLS0tDQpbSU5GT10gUnVsZSAwOiBvcmcuYXBhY2hlLm1hdmVuLmVu
Zm9yY2VyLnJ1bGVzLnZlcnNpb24uUmVxdWlyZU1hdmVuVmVyc2lvbiBwYXNzZWQNCltJTkZP
XSANCltJTkZPXSAtLS0gYnVpbGRudW1iZXI6My4yLjE6Y3JlYXRlIChnZXQtc2NtLXJldmlz
aW9uKSBAIGFycXVpbGxpYW4td2FycC1qc2YtZnRlc3QgLS0tDQpbSU5GT10gRXhlY3V0aW5n
OiBjbWQuZXhlIC9YIC9DICJnaXQgbG9nIC0xIC0tbm8tbWVyZ2VzICItLWZvcm1hdD1mb3Jt
YXQ6JUggJWFJICVhRSAlYU4iIg0KW0lORk9dIFdvcmtpbmcgZGlyZWN0b3J5OiBDOlxUZW1w
XGdpdGh1YlxhcnF1aWxsaWFuLWV4dGVuc2lvbi13YXJwXGV4dGVuc2lvblxqc2YtZnRlc3QN
CltJTkZPXSBTdG9yaW5nIGJ1aWxkTnVtYmVyOiAwYWVmYjlmZGRjYTU0ODk2ZmI0ZDdjMDMz
MzFlMDNjZTliNmU2MWQ0IGF0IHRpbWVzdGFtcDogMTc1MjMxMDQwMTg0MA0KW0lORk9dIEV4
ZWN1dGluZzogY21kLmV4ZSAvWCAvQyAiZ2l0IHN5bWJvbGljLXJlZiBIRUFEIg0KW0lORk9d
IFdvcmtpbmcgZGlyZWN0b3J5OiBDOlxUZW1wXGdpdGh1YlxhcnF1aWxsaWFuLWV4dGVuc2lv
bi13YXJwXGV4dGVuc2lvblxqc2YtZnRlc3QNCltJTkZPXSBTdG9yaW5nIHNjbUJyYW5jaDog
bWFpbg0KW0lORk9dIA0KW0lORk9dIC0tLSBqYWNvY286MC44LjEzOnByZXBhcmUtYWdlbnQg
KHByZXBhcmUtYWdlbnQpIEAgYXJxdWlsbGlhbi13YXJwLWpzZi1mdGVzdCAtLS0NCltJTkZP
XSBzdXJlZmlyZS5qYWNvY28uYXJncyBzZXQgdG8gLWphdmFhZ2VudDpDOlxcVXNlcnNcXGtu
dWZmaVxcLm0yXFxyZXBvc2l0b3J5XFxvcmdcXGphY29jb1xcb3JnLmphY29jby5hZ2VudFxc
MC44LjEzXFxvcmcuamFjb2NvLmFnZW50LTAuOC4xMy1ydW50aW1lLmphcj1kZXN0ZmlsZT1D
OlxcVGVtcFxcZ2l0aHViXFxhcnF1aWxsaWFuLWV4dGVuc2lvbi13YXJwXFxleHRlbnNpb25c
XGpzZi1mdGVzdFxcdGFyZ2V0XFxqYWNvY28uZXhlYyxleGNsdWRlcz1jb20vZ2FyZ295bGVz
b2Z0d2FyZS9odG1sdW5pdC9jc3MvKio6Y29tL2dhcmdveWxlc29mdHdhcmUvY3NzL3BhcnNl
ci9qYXZhY2MvKio6b3JnL2h0bWx1bml0L2Nzc3BhcnNlci9wYXJzZXIvamF2YWNjL0NTUzNQ
YXJzZXJUb2tlbk1hbmFnZXINCltJTkZPXSANCltJTkZPXSAtLS0gZGVwZW5kZW5jeTozLjgu
MTp1bnBhY2sgKHVucGFjay1hcnF1aWxsaWFuLXNldHRpbmdzKSBAIGFycXVpbGxpYW4td2Fy
cC1qc2YtZnRlc3QgLS0tDQpbSU5GT10gQ29uZmlndXJlZCBBcnRpZmFjdDogb3JnLmpib3Nz
LmFycXVpbGxpYW4uZXh0ZW5zaW9uOmFycXVpbGxpYW4td2FycC1idWlsZC1yZXNvdXJjZXM6
Mi4xLjAuRmluYWwtU05BUFNIT1Q6amFyDQpbSU5GT10gDQpbSU5GT10gLS0tIHJlc291cmNl
czozLjMuMTpyZXNvdXJjZXMgKGRlZmF1bHQtcmVzb3VyY2VzKSBAIGFycXVpbGxpYW4td2Fy
cC1qc2YtZnRlc3QgLS0tDQpbSU5GT10gc2tpcCBub24gZXhpc3RpbmcgcmVzb3VyY2VEaXJl
Y3RvcnkgQzpcVGVtcFxnaXRodWJcYXJxdWlsbGlhbi1leHRlbnNpb24td2FycFxleHRlbnNp
b25canNmLWZ0ZXN0XHNyY1xtYWluXHJlc291cmNlcw0KW0lORk9dIA0KW0lORk9dIC0tLSBj
b21waWxlcjozLjE0LjA6Y29tcGlsZSAoZGVmYXVsdC1jb21waWxlKSBAIGFycXVpbGxpYW4t
d2FycC1qc2YtZnRlc3QgLS0tDQpbSU5GT10gUmVjb21waWxpbmcgdGhlIG1vZHVsZSBiZWNh
dXNlIG9mIGNoYW5nZWQgc291cmNlIGNvZGUuDQpbSU5GT10gQ29tcGlsaW5nIDMgc291cmNl
IGZpbGVzIHdpdGggamF2YWMgW2RlYnVnIGRlcHJlY2F0aW9uIHJlbGVhc2UgMTddIHRvIHRh
cmdldFxjbGFzc2VzDQpbSU5GT10gDQpbSU5GT10gLS0tIHJlc291cmNlczozLjMuMTp0ZXN0
UmVzb3VyY2VzIChkZWZhdWx0LXRlc3RSZXNvdXJjZXMpIEAgYXJxdWlsbGlhbi13YXJwLWpz
Zi1mdGVzdCAtLS0NCltJTkZPXSBDb3B5aW5nIDMgcmVzb3VyY2VzIGZyb20gc3JjXHRlc3Rc
cmVzb3VyY2VzIHRvIHRhcmdldFx0ZXN0LWNsYXNzZXMNCltJTkZPXSBDb3B5aW5nIDEgcmVz
b3VyY2UgZnJvbSBzcmNcdGVzdFxhcnF1aWxsaWFuLXNldHRpbmdzIHRvIHRhcmdldFx0ZXN0
LWNsYXNzZXMNCltJTkZPXSBUaGUgZW5jb2RpbmcgdXNlZCB0byBjb3B5IGZpbHRlcmVkIHBy
b3BlcnRpZXMgZmlsZXMgaGF2ZSBub3QgYmVlbiBzZXQuIFRoaXMgbWVhbnMgdGhhdCB0aGUg
c2FtZSBlbmNvZGluZyB3aWxsIGJlIHVzZWQgdG8gY29weSBmaWx0ZXJlZCBwcm9wZXJ0aWVz
IGZpbGVzIGFzIHdoZW4gY29weWluZyBvdGhlciBmaWx0ZXJlZCByZXNvdXJjZXMuIFRoaXMg
bWlnaHQgbm90IGJlIHdoYXQgeW91IHdhbnQhIFJ1biB5b3VyIGJ1aWxkIHdpdGggLS1kZWJ1
ZyB0byBzZWUgd2hpY2ggZmlsZXMgbWlnaHQgYmUgYWZmZWN0ZWQuIFJlYWQgbW9yZSBhdCBo
dHRwczovL21hdmVuLmFwYWNoZS5vcmcvcGx1Z2lucy9tYXZlbi1yZXNvdXJjZXMtcGx1Z2lu
L2V4YW1wbGVzL2ZpbHRlcmluZy1wcm9wZXJ0aWVzLWZpbGVzLmh0bWwNCltJTkZPXSANCltJ
TkZPXSAtLS0gY29tcGlsZXI6My4xNC4wOnRlc3RDb21waWxlIChkZWZhdWx0LXRlc3RDb21w
aWxlKSBAIGFycXVpbGxpYW4td2FycC1qc2YtZnRlc3QgLS0tDQpbSU5GT10gUmVjb21waWxp
bmcgdGhlIG1vZHVsZSBiZWNhdXNlIG9mIGNoYW5nZWQgZGVwZW5kZW5jeS4NCltJTkZPXSBD
b21waWxpbmcgMTAgc291cmNlIGZpbGVzIHdpdGggamF2YWMgW2RlYnVnIGRlcHJlY2F0aW9u
IHJlbGVhc2UgMTddIHRvIHRhcmdldFx0ZXN0LWNsYXNzZXMNCltJTkZPXSANCltJTkZPXSAt
LS0gc3VyZWZpcmU6My41LjI6dGVzdCAoZGVmYXVsdC10ZXN0KSBAIGFycXVpbGxpYW4td2Fy
cC1qc2YtZnRlc3QgLS0tDQpbSU5GT10gVXNpbmcgYXV0byBkZXRlY3RlZCBwcm92aWRlciBv
cmcuYXBhY2hlLm1hdmVuLnN1cmVmaXJlLmp1bml0cGxhdGZvcm0uSlVuaXRQbGF0Zm9ybVBy
b3ZpZGVyDQpbSU5GT10gDQpbSU5GT10gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KW0lORk9dICBUIEUgUyBUIFMNCltJTkZPXSAt
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
DQpbSU5GT10gUnVubmluZyBvcmcuamJvc3MuYXJxdWlsbGlhbi53YXJwLmpzZi5mdGVzdC5C
YXNpY0pzZlRlc3QNCkp1bGkgMTIsIDIwMjUgMTA6NTM6MjUgQU0gb3JnLmFycXVpbGxpYW4u
d2FycC5mdGVzdC5pbnN0YWxsYXRpb24uQ29udGFpbmVySW5zdGFsbGVyIHVucGFja0NvbnRh
aW5lckRpc3RyaWJ1dGlvbg0KSU5GT1JNQVRJT046IFRoZSBjb250YWluZXIgZGlzdHJpYnV0
aW9uIHdpbGwgYmUgcmVzb2x2ZWQgZnJvbSBNYXZlbiBhcnRpZmFjdCAnb3JnLmFwYWNoZS50
b21lZTphcGFjaGUtdG9tZWU6emlwOndlYnByb2ZpbGU6MTAuMS4wJw0KSnVsaSAxMiwgMjAy
NSAxMDo1MzoyOCBBTSBvcmcuYXJxdWlsbGlhbi53YXJwLmZ0ZXN0Lmluc3RhbGxhdGlvbi5D
b250YWluZXJJbnN0YWxsZXIgdW5wYWNrQ29udGFpbmVyRGlzdHJpYnV0aW9uDQpJTkZPUk1B
VElPTjogVGhlIGNvbnRhaW5lciBkaXN0cmlidXRpb24gJ29yZy5hcGFjaGUudG9tZWU6YXBh
Y2hlLXRvbWVlOnppcDp3ZWJwcm9maWxlOjEwLjEuMCcgd2FzIGluc3RhbGxlZCBpbnRvICdD
OlxUZW1wXGdpdGh1YlxhcnF1aWxsaWFuLWV4dGVuc2lvbi13YXJwXGV4dGVuc2lvblxqc2Yt
ZnRlc3RcdGFyZ2V0Jw0KSnVsaSAxMiwgMjAyNSAxMDo1MzoyOCBBTSBvcmcuamJvc3MuYXJx
dWlsbGlhbi5kcm9uZS53ZWJkcml2ZXIuZmFjdG9yeS5yZW1vdGUucmV1c2FibGUuUmV1c2Vk
U2Vzc2lvblBlcm1hbmVudEZpbGVTdG9yYWdlIHJlYWRTdG9yZQ0KSU5GT1JNQVRJT046IFJl
dXNlZCBzZXNzaW9uIHN0b3JlIGlzIG5vdCBhdmFpbGFibGUgYXQgQzpcVXNlcnNca251ZmZp
XC5kcm9uZS13ZWJkcml2ZXItc2Vzc2lvbi1zdG9yZSwgYSBuZXcgb25lIHdpbGwgYmUgY3Jl
YXRlZC4NCjEyLUp1bC0yMDI1IDEwOjUzOjM1LjUzNiBJTkZPUk1BVElPTiBbbWFpbl0gamF2
YS5sYW5nLnJlZmxlY3QuTWV0aG9kLmludm9rZSBTZXJ2ZXIgVmVyc2lvbjogICAgICAgIEFw
YWNoZSBUb21jYXQgKFRvbUVFKS8xMC4xLjQzICgxMC4xLjEtU05BUFNIT1QpDQoxMi1KdWwt
MjAyNSAxMDo1MzozNS41MzcgSU5GT1JNQVRJT04gW21haW5dIGphdmEubGFuZy5yZWZsZWN0
Lk1ldGhvZC5pbnZva2UgU2VydmVyIGJ1aWx0OiAgICAgICAgICBKdWwgMSAyMDI1IDIxOjMw
OjIwIFVUQw0KMTItSnVsLTIwMjUgMTA6NTM6MzUuNTM3IElORk9STUFUSU9OIFttYWluXSBq
YXZhLmxhbmcucmVmbGVjdC5NZXRob2QuaW52b2tlIFNlcnZlciB2ZXJzaW9uIG51bWJlcjog
MTAuMS40My4wDQoxMi1KdWwtMjAyNSAxMDo1MzozNS41MzcgSU5GT1JNQVRJT04gW21haW5d
IGphdmEubGFuZy5yZWZsZWN0Lk1ldGhvZC5pbnZva2UgT1MgTmFtZTogICAgICAgICAgICAg
ICBXaW5kb3dzIDExDQoxMi1KdWwtMjAyNSAxMDo1MzozNS41MzggSU5GT1JNQVRJT04gW21h
aW5dIGphdmEubGFuZy5yZWZsZWN0Lk1ldGhvZC5pbnZva2UgT1MgVmVyc2lvbjogICAgICAg
ICAgICAxMC4wDQoxMi1KdWwtMjAyNSAxMDo1MzozNS41MzggSU5GT1JNQVRJT04gW21haW5d
IGphdmEubGFuZy5yZWZsZWN0Lk1ldGhvZC5pbnZva2UgQXJjaGl0ZWt0dXI6ICAgICAgICAg
ICBhbWQ2NA0KMTItSnVsLTIwMjUgMTA6NTM6MzUuNTM4IElORk9STUFUSU9OIFttYWluXSBq
YXZhLmxhbmcucmVmbGVjdC5NZXRob2QuaW52b2tlIEphdmEgSG9tZTogICAgICAgICAgICAg
QzpcVGVtcFxqZGstMjQuMC4xDQoxMi1KdWwtMjAyNSAxMDo1MzozNS41MzggSU5GT1JNQVRJ
T04gW21haW5dIGphdmEubGFuZy5yZWZsZWN0Lk1ldGhvZC5pbnZva2UgSlZNIFZlcnNpb246
ICAgICAgICAgICAyNC4wLjErOS0zMA0KMTItSnVsLTIwMjUgMTA6NTM6MzUuNTM4IElORk9S
TUFUSU9OIFttYWluXSBqYXZhLmxhbmcucmVmbGVjdC5NZXRob2QuaW52b2tlIEpWTSBIZXJz
dGVsbGVyOiAgICAgICAgT3JhY2xlIENvcnBvcmF0aW9uDQoxMi1KdWwtMjAyNSAxMDo1Mzoz
NS41MzggSU5GT1JNQVRJT04gW21haW5dIGphdmEubGFuZy5yZWZsZWN0Lk1ldGhvZC5pbnZv
a2UgQ0FUQUxJTkFfQkFTRTogICAgICAgICBDOlxUZW1wXGdpdGh1YlxhcnF1aWxsaWFuLWV4
dGVuc2lvbi13YXJwXGV4dGVuc2lvblxqc2YtZnRlc3RcdGFyZ2V0XGFwYWNoZS10b21lZS13
ZWJwcm9maWxlLTEwLjEuMA0KMTItSnVsLTIwMjUgMTA6NTM6MzUuNTM4IElORk9STUFUSU9O
IFttYWluXSBqYXZhLmxhbmcucmVmbGVjdC5NZXRob2QuaW52b2tlIENBVEFMSU5BX0hPTUU6
ICAgICAgICAgQzpcVGVtcFxnaXRodWJcYXJxdWlsbGlhbi1leHRlbnNpb24td2FycFxleHRl
bnNpb25canNmLWZ0ZXN0XHRhcmdldFxhcGFjaGUtdG9tZWUtd2VicHJvZmlsZS0xMC4xLjAN
CjEyLUp1bC0yMDI1IDEwOjUzOjM1LjU0NCBJTkZPUk1BVElPTiBbbWFpbl0gamF2YS5sYW5n
LnJlZmxlY3QuTWV0aG9kLmludm9rZSBDb21tYW5kIGxpbmUgYXJndW1lbnQ6IC1YWDorSGVh
cER1bXBPbk91dE9mTWVtb3J5RXJyb3INCjEyLUp1bC0yMDI1IDEwOjUzOjM1LjU0NCBJTkZP
Uk1BVElPTiBbbWFpbl0gamF2YS5sYW5nLnJlZmxlY3QuTWV0aG9kLmludm9rZSBDb21tYW5k
IGxpbmUgYXJndW1lbnQ6IC1EdG9tZWUuaHR0cFBvcnQ9ODA4MA0KMTItSnVsLTIwMjUgMTA6
NTM6MzUuNTQ0IElORk9STUFUSU9OIFttYWluXSBqYXZhLmxhbmcucmVmbGVjdC5NZXRob2Qu
aW52b2tlIENvbW1hbmQgbGluZSBhcmd1bWVudDogLVhteDc2OG0NCjEyLUp1bC0yMDI1IDEw
OjUzOjM1LjU0NCBJTkZPUk1BVElPTiBbbWFpbl0gamF2YS5sYW5nLnJlZmxlY3QuTWV0aG9k
Lmludm9rZSBDb21tYW5kIGxpbmUgYXJndW1lbnQ6IC1EYXJxdWlsbGlhbi5kZWJ1Zz1mYWxz
ZQ0KMTItSnVsLTIwMjUgMTA6NTM6MzUuNTQ0IElORk9STUFUSU9OIFttYWluXSBqYXZhLmxh
bmcucmVmbGVjdC5NZXRob2QuaW52b2tlIENvbW1hbmQgbGluZSBhcmd1bWVudDogLURvcmcu
YXBhY2hlLmNhdGFsaW5hLlNUUklDVF9TRVJWTEVUX0NPTVBMSUFOQ0U9ZmFsc2UNCjEyLUp1
bC0yMDI1IDEwOjUzOjM1LjU0NSBJTkZPUk1BVElPTiBbbWFpbl0gamF2YS5sYW5nLnJlZmxl
Y3QuTWV0aG9kLmludm9rZSBDb21tYW5kIGxpbmUgYXJndW1lbnQ6IC1Eb3JnLmFwYWNoZS5v
cGVuZWpiLnNlcnZsZXQuZmlsdGVycz1vcmcuYXBhY2hlLm9wZW5lamIuYXJxdWlsbGlhbi5j
b21tb24uQXJxdWlsbGlhbkZpbHRlclJ1bm5lcj0vQXJxdWlsbGlhblNlcnZsZXRSdW5uZXJF
RTkNCjEyLUp1bC0yMDI1IDEwOjUzOjM1LjU0NSBJTkZPUk1BVElPTiBbbWFpbl0gamF2YS5s
YW5nLnJlZmxlY3QuTWV0aG9kLmludm9rZSBDb21tYW5kIGxpbmUgYXJndW1lbnQ6IC1Eb3Bl
bmVqYi5zeXN0ZW0uYXBwcz10cnVlDQoxMi1KdWwtMjAyNSAxMDo1MzozNS41NDUgSU5GT1JN
QVRJT04gW21haW5dIGphdmEubGFuZy5yZWZsZWN0Lk1ldGhvZC5pbnZva2UgQ29tbWFuZCBs
aW5lIGFyZ3VtZW50OiAtRHRvbWVlLnJlbW90ZS5zdXBwb3J0PXRydWUNCldBUk5JTkc6IEEg
cmVzdHJpY3RlZCBtZXRob2QgaW4gamF2YS5sYW5nLlN5c3RlbSBoYXMgYmVlbiBjYWxsZWQN
CldBUk5JTkc6IGphdmEubGFuZy5TeXN0ZW06OmxvYWQgaGFzIGJlZW4gY2FsbGVkIGJ5IG9y
Zy5hcGFjaGUudG9tY2F0LmpuaS5MaWJyYXJ5IGluIGFuIHVubmFtZWQgbW9kdWxlIChmaWxl
Oi9DOi9UZW1wL2dpdGh1Yi9hcnF1aWxsaWFuLWV4dGVuc2lvbi13YXJwL2V4dGVuc2lvbi9q
c2YtZnRlc3QvdGFyZ2V0L2FwYWNoZS10b21lZS13ZWJwcm9maWxlLTEwLjEuMC9saWIvdG9t
Y2F0LWpuaS5qYXIpDQpXQVJOSU5HOiBVc2UgLS1lbmFibGUtbmF0aXZlLWFjY2Vzcz1BTEwt
VU5OQU1FRCB0byBhdm9pZCBhIHdhcm5pbmcgZm9yIGNhbGxlcnMgaW4gdGhpcyBtb2R1bGUN
CldBUk5JTkc6IFJlc3RyaWN0ZWQgbWV0aG9kcyB3aWxsIGJlIGJsb2NrZWQgaW4gYSBmdXR1
cmUgcmVsZWFzZSB1bmxlc3MgbmF0aXZlIGFjY2VzcyBpcyBlbmFibGVkDQoNCjEyLUp1bC0y
MDI1IDEwOjUzOjM1LjU0NSBJTkZPUk1BVElPTiBbbWFpbl0gamF2YS5sYW5nLnJlZmxlY3Qu
TWV0aG9kLmludm9rZSBDb21tYW5kIGxpbmUgYXJndW1lbnQ6IC1EamF2YS51dGlsLmxvZ2dp
bmcuY29uZmlnLmZpbGU9QzpcVGVtcFxnaXRodWJcYXJxdWlsbGlhbi1leHRlbnNpb24td2Fy
cFxleHRlbnNpb25canNmLWZ0ZXN0XHRhcmdldFxhcGFjaGUtdG9tZWUtd2VicHJvZmlsZS0x
MC4xLjBcY29uZlxsb2dnaW5nLnByb3BlcnRpZXMNCjEyLUp1bC0yMDI1IDEwOjUzOjM1LjU0
NSBJTkZPUk1BVElPTiBbbWFpbl0gamF2YS5sYW5nLnJlZmxlY3QuTWV0aG9kLmludm9rZSBD
b21tYW5kIGxpbmUgYXJndW1lbnQ6IC1qYXZhYWdlbnQ6QzpcVGVtcFxnaXRodWJcYXJxdWls
bGlhbi1leHRlbnNpb24td2FycFxleHRlbnNpb25canNmLWZ0ZXN0XHRhcmdldFxhcGFjaGUt
dG9tZWUtd2VicHJvZmlsZS0xMC4xLjBcbGliXG9wZW5lamItamF2YWFnZW50Lmphcg0KMTIt
SnVsLTIwMjUgMTA6NTM6MzUuNTQ1IElORk9STUFUSU9OIFttYWluXSBqYXZhLmxhbmcucmVm
bGVjdC5NZXRob2QuaW52b2tlIENvbW1hbmQgbGluZSBhcmd1bWVudDogLURqYXZhLnV0aWwu
bG9nZ2luZy5tYW5hZ2VyPW9yZy5hcGFjaGUuanVsaS5DbGFzc0xvYWRlckxvZ01hbmFnZXIN
CjEyLUp1bC0yMDI1IDEwOjUzOjM1LjU0NSBJTkZPUk1BVElPTiBbbWFpbl0gamF2YS5sYW5n
LnJlZmxlY3QuTWV0aG9kLmludm9rZSBDb21tYW5kIGxpbmUgYXJndW1lbnQ6IC1EamF2YS5p
by50bXBkaXI9QzpcVGVtcFxnaXRodWJcYXJxdWlsbGlhbi1leHRlbnNpb24td2FycFxleHRl
bnNpb25canNmLWZ0ZXN0XHRhcmdldFxhcGFjaGUtdG9tZWUtd2VicHJvZmlsZS0xMC4xLjBc
dGVtcA0KMTItSnVsLTIwMjUgMTA6NTM6MzUuNTQ1IElORk9STUFUSU9OIFttYWluXSBqYXZh
LmxhbmcucmVmbGVjdC5NZXRob2QuaW52b2tlIENvbW1hbmQgbGluZSBhcmd1bWVudDogLURj
YXRhbGluYS5iYXNlPUM6XFRlbXBcZ2l0aHViXGFycXVpbGxpYW4tZXh0ZW5zaW9uLXdhcnBc
ZXh0ZW5zaW9uXGpzZi1mdGVzdFx0YXJnZXRcYXBhY2hlLXRvbWVlLXdlYnByb2ZpbGUtMTAu
MS4wDQoxMi1KdWwtMjAyNSAxMDo1MzozNS41NDUgSU5GT1JNQVRJT04gW21haW5dIGphdmEu
bGFuZy5yZWZsZWN0Lk1ldGhvZC5pbnZva2UgQ29tbWFuZCBsaW5lIGFyZ3VtZW50OiAtRGNh
dGFsaW5hLmhvbWU9QzpcVGVtcFxnaXRodWJcYXJxdWlsbGlhbi1leHRlbnNpb24td2FycFxl
eHRlbnNpb25canNmLWZ0ZXN0XHRhcmdldFxhcGFjaGUtdG9tZWUtd2VicHJvZmlsZS0xMC4x
LjANCjEyLUp1bC0yMDI1IDEwOjUzOjM1LjU0NSBJTkZPUk1BVElPTiBbbWFpbl0gamF2YS5s
YW5nLnJlZmxlY3QuTWV0aG9kLmludm9rZSBDb21tYW5kIGxpbmUgYXJndW1lbnQ6IC1EY2F0
YWxpbmEuZXh0LmRpcnM9QzpcVGVtcFxnaXRodWJcYXJxdWlsbGlhbi1leHRlbnNpb24td2Fy
cFxleHRlbnNpb25canNmLWZ0ZXN0XHRhcmdldFxhcGFjaGUtdG9tZWUtd2VicHJvZmlsZS0x
MC4xLjBcbGliDQoxMi1KdWwtMjAyNSAxMDo1MzozNS41NDUgSU5GT1JNQVRJT04gW21haW5d
IGphdmEubGFuZy5yZWZsZWN0Lk1ldGhvZC5pbnZva2UgQ29tbWFuZCBsaW5lIGFyZ3VtZW50
OiAtRG9yZy5hcGFjaGUudG9tY2F0LnV0aWwuaHR0cC5TZXJ2ZXJDb29raWUuQUxMT1dfSFRU
UF9TRVBBUkFUT1JTX0lOX1YwPXRydWUNCjEyLUp1bC0yMDI1IDEwOjUzOjM1LjU0NSBJTkZP
Uk1BVElPTiBbbWFpbl0gamF2YS5sYW5nLnJlZmxlY3QuTWV0aG9kLmludm9rZSBDb21tYW5k
IGxpbmUgYXJndW1lbnQ6IC1lYQ0KMTItSnVsLTIwMjUgMTA6NTM6MzUuNTQ1IElORk9STUFU
SU9OIFttYWluXSBqYXZhLmxhbmcucmVmbGVjdC5NZXRob2QuaW52b2tlIENvbW1hbmQgbGlu
ZSBhcmd1bWVudDogLS1hZGQtb3BlbnM9amF2YS5iYXNlL2phdmEubGFuZz1BTEwtVU5OQU1F
RA0KMTItSnVsLTIwMjUgMTA6NTM6MzUuNTQ2IElORk9STUFUSU9OIFttYWluXSBqYXZhLmxh
bmcucmVmbGVjdC5NZXRob2QuaW52b2tlIENvbW1hbmQgbGluZSBhcmd1bWVudDogLS1hZGQt
b3BlbnM9amF2YS5iYXNlL2phdmEuaW89QUxMLVVOTkFNRUQNCjEyLUp1bC0yMDI1IDEwOjUz
OjM1LjU0NiBJTkZPUk1BVElPTiBbbWFpbl0gamF2YS5sYW5nLnJlZmxlY3QuTWV0aG9kLmlu
dm9rZSBDb21tYW5kIGxpbmUgYXJndW1lbnQ6IC0tYWRkLW9wZW5zPWphdmEuYmFzZS9qYXZh
LnV0aWw9QUxMLVVOTkFNRUQNCjEyLUp1bC0yMDI1IDEwOjUzOjM1LjU0NiBJTkZPUk1BVElP
TiBbbWFpbl0gamF2YS5sYW5nLnJlZmxlY3QuTWV0aG9kLmludm9rZSBDb21tYW5kIGxpbmUg
YXJndW1lbnQ6IC0tYWRkLW9wZW5zPWphdmEuYmFzZS9qYXZhLnV0aWwuY29uY3VycmVudD1B
TEwtVU5OQU1FRA0KMTItSnVsLTIwMjUgMTA6NTM6MzUuNTQ2IElORk9STUFUSU9OIFttYWlu
XSBqYXZhLmxhbmcucmVmbGVjdC5NZXRob2QuaW52b2tlIENvbW1hbmQgbGluZSBhcmd1bWVu
dDogLS1hZGQtb3BlbnM9amF2YS5ybWkvc3VuLnJtaS50cmFuc3BvcnQ9QUxMLVVOTkFNRUQN
CjEyLUp1bC0yMDI1IDEwOjUzOjM1LjU0NiBJTkZPUk1BVElPTiBbbWFpbl0gamF2YS5sYW5n
LnJlZmxlY3QuTWV0aG9kLmludm9rZSBDb21tYW5kIGxpbmUgYXJndW1lbnQ6IC0tYWRkLW9w
ZW5zPWphdmEuYmFzZS9qZGsuaW50ZXJuYWwubG9hZGVyPUFMTC1VTk5BTUVEDQoxMi1KdWwt
MjAyNSAxMDo1MzozNS41NDYgSU5GT1JNQVRJT04gW21haW5dIGphdmEubGFuZy5yZWZsZWN0
Lk1ldGhvZC5pbnZva2UgQ29tbWFuZCBsaW5lIGFyZ3VtZW50OiAtLWFkZC1vcGVucz1qYXZh
LmJhc2UvamF2YS5uZXQ9QUxMLVVOTkFNRUQNCjEyLUp1bC0yMDI1IDEwOjUzOjM1LjU1MiBJ
TkZPUk1BVElPTiBbbWFpbl0gamF2YS5sYW5nLnJlZmxlY3QuTWV0aG9kLmludm9rZSBUaGUg
QXBhY2hlIFRvbWNhdCBOYXRpdmUgbGlicmFyeSB3aGljaCBhbGxvd3MgdXNpbmcgT3BlblNT
TCB3YXMgbm90IGZvdW5kIG9uIHRoZSBqYXZhLmxpYnJhcnkucGF0aDogW0M6XFRlbXBcamRr
LTI0LjAuMVxiaW47QzpcV0lORE9XU1xTdW5cSmF2YVxiaW47QzpcV0lORE9XU1xzeXN0ZW0z
MjtDOlxXSU5ET1dTO0M6XFRlbXBcamRrLTI0LjAuMVxiaW47YzpcVGVtcFxQb3J0YWJsZUdp
dFxiaW47YzpcVGVtcFxQb3J0YWJsZUdpdFx1c3JcYmluO0M6XFRlbXBcV2luTWVyZ2U7Qzpc
VGVtcFxhcGFjaGUtbWF2ZW4tMy45LjlcYmluO0M6XFByb2dyYW0gRmlsZXNcQ29tbW9uIEZp
bGVzXE9yYWNsZVxKYXZhXGphdmFwYXRoO0M6XFByb2dyYW0gRmlsZXMgKHg4NilcQ29tbW9u
IEZpbGVzXE9yYWNsZVxKYXZhXGphdmE4cGF0aDtDOlxQcm9ncmFtIEZpbGVzICh4ODYpXENv
bW1vbiBGaWxlc1xPcmFjbGVcSmF2YVxqYXZhcGF0aDtDOlxXaW5kb3dzXHN5c3RlbTMyO0M6
XFdpbmRvd3M7QzpcV2luZG93c1xTeXN0ZW0zMlxXYmVtO0M6XFdpbmRvd3NcU3lzdGVtMzJc
V2luZG93c1Bvd2VyU2hlbGxcdjEuMFw7QzpcV2luZG93c1xTeXN0ZW0zMlxPcGVuU1NIXDtD
OlxQcm9ncmFtIEZpbGVzICh4ODYpXE5WSURJQSBDb3Jwb3JhdGlvblxQaHlzWFxDb21tb247
QzpcV0lORE9XU1xzeXN0ZW0zMjtDOlxXSU5ET1dTO0M6XFdJTkRPV1NcU3lzdGVtMzJcV2Jl
bTtDOlxXSU5ET1dTXFN5c3RlbTMyXFdpbmRvd3NQb3dlclNoZWxsXHYxLjBcO0M6XFdJTkRP
V1NcU3lzdGVtMzJcT3BlblNTSFw7QzpcUHJvZ3JhbSBGaWxlc1xOaXRyb2tleVxOaXRyb3B5
XDtDOlxVc2Vyc1xrbnVmZmlcQXBwRGF0YVxMb2NhbFxNaWNyb3NvZnRcV2luZG93c0FwcHM7
QzpcVXNlcnNca251ZmZpXEFwcERhdGFcTG9jYWxcUHJvZ3JhbXNcTWlLVGVYXG1pa3RleFxi
aW5ceDY0XDs7Ll0NCjEyLUp1bC0yMDI1IDEwOjUzOjM1Ljc0NCBJTkZPUk1BVElPTiBbbWFp
bl0gamF2YS5sYW5nLnJlZmxlY3QuTWV0aG9kLmludm9rZSBJbml0aWFsaXNpZXJlIFByb3Rv
Y29sSGFuZGxlclsiaHR0cC1uaW8tODA4MCJdDQoxMi1KdWwtMjAyNSAxMDo1MzozNS45MTkg
SU5GT1JNQVRJT04gW21haW5dIG9yZy5hcGFjaGUub3BlbmVqYi51dGlsLk9wdGlvbnNMb2cu
aW5mbyBVc2luZyAndG9tZWUucmVtb3RlLnN1cHBvcnQ9dHJ1ZScNCjEyLUp1bC0yMDI1IDEw
OjUzOjM1LjkyNyBJTkZPUk1BVElPTiBbbWFpbl0gb3JnLmFwYWNoZS5vcGVuZWpiLnV0aWwu
T3B0aW9uc0xvZy5pbmZvIFVzaW5nICdvcGVuZWpiLmpkYmMuZGF0YXNvdXJjZS1jcmVhdG9y
PW9yZy5hcGFjaGUudG9tZWUuamRiYy5Ub21FRURhdGFTb3VyY2VDcmVhdG9yJw0KMTItSnVs
LTIwMjUgMTA6NTM6MzUuOTc5IElORk9STUFUSU9OIFttYWluXSBvcmcuYXBhY2hlLm9wZW5l
amIuT3BlbkVKQiRJbnN0YW5jZS48aW5pdD4gKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioN
CjEyLUp1bC0yMDI1IDEwOjUzOjM1Ljk3OSBJTkZPUk1BVElPTiBbbWFpbl0gb3JnLmFwYWNo
ZS5vcGVuZWpiLk9wZW5FSkIkSW5zdGFuY2UuPGluaXQ+IE9wZW5FSkIgaHR0cDovL3RvbWVl
LmFwYWNoZS5vcmcvDQoxMi1KdWwtMjAyNSAxMDo1MzozNS45NzkgSU5GT1JNQVRJT04gW21h
aW5dIG9yZy5hcGFjaGUub3BlbmVqYi5PcGVuRUpCJEluc3RhbmNlLjxpbml0PiBTdGFydHVw
OiBTYXQgSnVsIDEyIDEwOjUzOjM1IENFU1QgMjAyNQ0KMTItSnVsLTIwMjUgMTA6NTM6MzUu
OTc5IElORk9STUFUSU9OIFttYWluXSBvcmcuYXBhY2hlLm9wZW5lamIuT3BlbkVKQiRJbnN0
YW5jZS48aW5pdD4gQ29weXJpZ2h0IDE5OTktMjAyNSAoQykgQXBhY2hlIFRvbUVFIFByb2pl
Y3QsIEFsbCBSaWdodHMgUmVzZXJ2ZWQuDQoxMi1KdWwtMjAyNSAxMDo1MzozNS45NzkgSU5G
T1JNQVRJT04gW21haW5dIG9yZy5hcGFjaGUub3BlbmVqYi5PcGVuRUpCJEluc3RhbmNlLjxp
bml0PiBWZXJzaW9uOiAxMC4xLjEtU05BUFNIT1QNCjEyLUp1bC0yMDI1IDEwOjUzOjM1Ljk3
OSBJTkZPUk1BVElPTiBbbWFpbl0gb3JnLmFwYWNoZS5vcGVuZWpiLk9wZW5FSkIkSW5zdGFu
Y2UuPGluaXQ+IEJ1aWxkIGRhdGU6IDIwMjUwNzEyDQoxMi1KdWwtMjAyNSAxMDo1MzozNS45
NzkgSU5GT1JNQVRJT04gW21haW5dIG9yZy5hcGFjaGUub3BlbmVqYi5PcGVuRUpCJEluc3Rh
bmNlLjxpbml0PiBCdWlsZCB0aW1lOiAwMzo1OQ0KMTItSnVsLTIwMjUgMTA6NTM6MzUuOTc5
IElORk9STUFUSU9OIFttYWluXSBvcmcuYXBhY2hlLm9wZW5lamIuT3BlbkVKQiRJbnN0YW5j
ZS48aW5pdD4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCjEyLUp1bC0yMDI1IDEwOjUz
OjM1Ljk4MCBJTkZPUk1BVElPTiBbbWFpbl0gb3JnLmFwYWNoZS5vcGVuZWpiLk9wZW5FSkIk
SW5zdGFuY2UuPGluaXQ+IG9wZW5lamIuaG9tZSA9IEM6XFRlbXBcZ2l0aHViXGFycXVpbGxp
YW4tZXh0ZW5zaW9uLXdhcnBcZXh0ZW5zaW9uXGpzZi1mdGVzdFx0YXJnZXRcYXBhY2hlLXRv
bWVlLXdlYnByb2ZpbGUtMTAuMS4wDQoxMi1KdWwtMjAyNSAxMDo1MzozNS45ODAgSU5GT1JN
QVRJT04gW21haW5dIG9yZy5hcGFjaGUub3BlbmVqYi5PcGVuRUpCJEluc3RhbmNlLjxpbml0
PiBvcGVuZWpiLmJhc2UgPSBDOlxUZW1wXGdpdGh1YlxhcnF1aWxsaWFuLWV4dGVuc2lvbi13
YXJwXGV4dGVuc2lvblxqc2YtZnRlc3RcdGFyZ2V0XGFwYWNoZS10b21lZS13ZWJwcm9maWxl
LTEwLjEuMA0KMTItSnVsLTIwMjUgMTA6NTM6MzUuOTgwIElORk9STUFUSU9OIFttYWluXSBv
cmcuYXBhY2hlLm9wZW5lamIuY2RpLkNkaUJ1aWxkZXIuaW5pdGlhbGl6ZU9XQiBDcmVhdGVk
IG5ldyBzaW5nbGV0b25TZXJ2aWNlIG9yZy5hcGFjaGUub3BlbmVqYi5jZGkuVGhyZWFkU2lu
Z2xldG9uU2VydmljZUltcGxANmUwMDVkYzkNCjEyLUp1bC0yMDI1IDEwOjUzOjM1Ljk4MiBJ
TkZPUk1BVElPTiBbbWFpbl0gb3JnLmFwYWNoZS5vcGVuZWpiLmNkaS5DZGlCdWlsZGVyLmlu
aXRpYWxpemVPV0IgU3VjY2VlZGVkIGluIGluc3RhbGxpbmcgc2luZ2xldG9uIHNlcnZpY2UN
CjEyLUp1bC0yMDI1IDEwOjUzOjM1Ljk5OSBJTkZPUk1BVElPTiBbbWFpbl0gb3JnLmFwYWNo
ZS5vcGVuZWpiLmNvbmZpZy5Db25maWd1cmF0aW9uRmFjdG9yeS5pbml0IFRvbUVFIGNvbmZp
Z3VyYXRpb24gZmlsZSBpcyAnQzpcVGVtcFxnaXRodWJcYXJxdWlsbGlhbi1leHRlbnNpb24t
d2FycFxleHRlbnNpb25canNmLWZ0ZXN0XHRhcmdldFxhcGFjaGUtdG9tZWUtd2VicHJvZmls
ZS0xMC4xLjBcY29uZlx0b21lZS54bWwnDQoxMi1KdWwtMjAyNSAxMDo1MzozNi4wMjAgSU5G
T1JNQVRJT04gW21haW5dIG9yZy5hcGFjaGUub3BlbmVqYi5jb25maWcuQ29uZmlndXJhdGlv
bkZhY3RvcnkuY29uZmlndXJlU2VydmljZSBDb25maWd1cmluZyBTZXJ2aWNlKGlkPVRvbWNh
dCBTZWN1cml0eSBTZXJ2aWNlLCB0eXBlPVNlY3VyaXR5U2VydmljZSwgcHJvdmlkZXItaWQ9
VG9tY2F0IFNlY3VyaXR5IFNlcnZpY2UpDQoxMi1KdWwtMjAyNSAxMDo1MzozNi4wMjIgSU5G
T1JNQVRJT04gW21haW5dIG9yZy5hcGFjaGUub3BlbmVqYi5jb25maWcuQ29uZmlndXJhdGlv
bkZhY3RvcnkuY29uZmlndXJlU2VydmljZSBDb25maWd1cmluZyBTZXJ2aWNlKGlkPURlZmF1
bHQgVHJhbnNhY3Rpb24gTWFuYWdlciwgdHlwZT1UcmFuc2FjdGlvbk1hbmFnZXIsIHByb3Zp
ZGVyLWlkPURlZmF1bHQgVHJhbnNhY3Rpb24gTWFuYWdlcikNCjEyLUp1bC0yMDI1IDEwOjUz
OjM2LjAyMyBJTkZPUk1BVElPTiBbbWFpbl0gb3JnLmFwYWNoZS5vcGVuZWpiLnV0aWwuT3B0
aW9uc0xvZy5pbmZvIFVzaW5nICdvcGVuZWpiLnN5c3RlbS5hcHBzPXRydWUnDQoxMi1KdWwt
MjAyNSAxMDo1MzozNi4wMjQgSU5GT1JNQVRJT04gW21haW5dIG9yZy5hcGFjaGUub3BlbmVq
Yi5jb25maWcuQ29uZmlndXJhdGlvbkZhY3RvcnkuY29uZmlndXJlU2VydmljZSBDb25maWd1
cmluZyBTZXJ2aWNlKGlkPURlZmF1bHQgU2luZ2xldG9uIENvbnRhaW5lciwgdHlwZT1Db250
YWluZXIsIHByb3ZpZGVyLWlkPURlZmF1bHQgU2luZ2xldG9uIENvbnRhaW5lcikNCjEyLUp1
bC0yMDI1IDEwOjUzOjM2LjAyNyBJTkZPUk1BVElPTiBbbWFpbl0gb3JnLmFwYWNoZS5vcGVu
ZWpiLmFzc2VtYmxlci5jbGFzc2ljLkFzc2VtYmxlci5jcmVhdGVSZWNpcGUgQ3JlYXRpbmcg
VHJhbnNhY3Rpb25NYW5hZ2VyKGlkPURlZmF1bHQgVHJhbnNhY3Rpb24gTWFuYWdlcikNCjEy
LUp1bC0yMDI1IDEwOjUzOjM2LjA2OSBJTkZPUk1BVElPTiBbbWFpbl0gb3JnLmFwYWNoZS5v
cGVuZWpiLmFzc2VtYmxlci5jbGFzc2ljLkFzc2VtYmxlci5jcmVhdGVSZWNpcGUgQ3JlYXRp
bmcgU2VjdXJpdHlTZXJ2aWNlKGlkPVRvbWNhdCBTZWN1cml0eSBTZXJ2aWNlKQ0KMTItSnVs
LTIwMjUgMTA6NTM6MzYuMDgxIElORk9STUFUSU9OIFttYWluXSBvcmcuYXBhY2hlLm9wZW5l
amIuYXNzZW1ibGVyLmNsYXNzaWMuQXNzZW1ibGVyLmNyZWF0ZVJlY2lwZSBDcmVhdGluZyBD
b250YWluZXIoaWQ9RGVmYXVsdCBTaW5nbGV0b24gQ29udGFpbmVyKQ0KMTItSnVsLTIwMjUg
MTA6NTM6MzYuMDkwIElORk9STUFUSU9OIFttYWluXSBvcmcuYXBhY2hlLm9wZW5lamIuYXNz
ZW1ibGVyLmNsYXNzaWMuQXNzZW1ibGVyLmNyZWF0ZUFwcGxpY2F0aW9uIEFzc2VtYmxpbmcg
YXBwOiBvcGVuZWpiDQoxMi1KdWwtMjAyNSAxMDo1MzozNi4xNTMgSU5GT1JNQVRJT04gW21h
aW5dIG9yZy5hcGFjaGUub3BlbmVqYi51dGlsLk9wdGlvbnNMb2cuaW5mbyBVc2luZyAnb3Bl
bmVqYi5qbmRpbmFtZS5mb3JtYXQ9e2RlcGxveW1lbnRJZH17aW50ZXJmYWNlVHlwZS5vcGVu
ZWpiTGVnYWN5TmFtZX0nDQoxMi1KdWwtMjAyNSAxMDo1MzozNi4xNjAgSU5GT1JNQVRJT04g
W21haW5dIG9yZy5hcGFjaGUub3BlbmVqYi5hc3NlbWJsZXIuY2xhc3NpYy5KbmRpQnVpbGRl
ci5iaW5kIEpuZGkobmFtZT1vcGVuZWpiL0RlcGxveWVyQnVzaW5lc3NSZW1vdGUpIC0tPiBF
amIoZGVwbG95bWVudC1pZD1vcGVuZWpiL0RlcGxveWVyKQ0KMTItSnVsLTIwMjUgMTA6NTM6
MzYuMTYwIElORk9STUFUSU9OIFttYWluXSBvcmcuYXBhY2hlLm9wZW5lamIuYXNzZW1ibGVy
LmNsYXNzaWMuSm5kaUJ1aWxkZXIuYmluZCBKbmRpKG5hbWU9Z2xvYmFsL29wZW5lamIvb3Bl
bmVqYi9vcGVuZWpiL0RlcGxveWVyIW9yZy5hcGFjaGUub3BlbmVqYi5hc3NlbWJsZXIuRGVw
bG95ZXIpIC0tPiBFamIoZGVwbG95bWVudC1pZD1vcGVuZWpiL0RlcGxveWVyKQ0KMTItSnVs
LTIwMjUgMTA6NTM6MzYuMTYxIElORk9STUFUSU9OIFttYWluXSBvcmcuYXBhY2hlLm9wZW5l
amIuYXNzZW1ibGVyLmNsYXNzaWMuSm5kaUJ1aWxkZXIuYmluZCBKbmRpKG5hbWU9Z2xvYmFs
L29wZW5lamIvb3BlbmVqYi9vcGVuZWpiL0RlcGxveWVyKSAtLT4gRWpiKGRlcGxveW1lbnQt
aWQ9b3BlbmVqYi9EZXBsb3llcikNCjEyLUp1bC0yMDI1IDEwOjUzOjM2LjE2MSBJTkZPUk1B
VElPTiBbbWFpbl0gb3JnLmFwYWNoZS5vcGVuZWpiLmFzc2VtYmxlci5jbGFzc2ljLkpuZGlC
dWlsZGVyLmJpbmQgSm5kaShuYW1lPW9wZW5lamIvQ29uZmlndXJhdGlvbkluZm9CdXNpbmVz
c1JlbW90ZSkgLS0+IEVqYihkZXBsb3ltZW50LWlkPW9wZW5lamIvQ29uZmlndXJhdGlvbklu
Zm8pDQoxMi1KdWwtMjAyNSAxMDo1MzozNi4xNjEgSU5GT1JNQVRJT04gW21haW5dIG9yZy5h
cGFjaGUub3BlbmVqYi5hc3NlbWJsZXIuY2xhc3NpYy5KbmRpQnVpbGRlci5iaW5kIEpuZGko
bmFtZT1nbG9iYWwvb3BlbmVqYi9vcGVuZWpiL29wZW5lamIvRGVwbG95ZXIhb3JnLmFwYWNo
ZS5vcGVuZWpiLmFzc2VtYmxlci5jbGFzc2ljLmNtZC5Db25maWd1cmF0aW9uSW5mbykgLS0+
IEVqYihkZXBsb3ltZW50LWlkPW9wZW5lamIvQ29uZmlndXJhdGlvbkluZm8pDQoxMi1KdWwt
MjAyNSAxMDo1MzozNi4xNjcgSU5GT1JNQVRJT04gW21haW5dIG9yZy5hcGFjaGUub3BlbmVq
Yi5hc3NlbWJsZXIuY2xhc3NpYy5Bc3NlbWJsZXIuc3RhcnRFamJzIENyZWF0ZWQgRWpiKGRl
cGxveW1lbnQtaWQ9b3BlbmVqYi9Db25maWd1cmF0aW9uSW5mbywgZWpiLW5hbWU9b3BlbmVq
Yi9EZXBsb3llciwgY29udGFpbmVyPURlZmF1bHQgU2luZ2xldG9uIENvbnRhaW5lcikNCjEy
LUp1bC0yMDI1IDEwOjUzOjM2LjE2OCBJTkZPUk1BVElPTiBbbWFpbl0gb3JnLmFwYWNoZS5v
cGVuZWpiLmFzc2VtYmxlci5jbGFzc2ljLkFzc2VtYmxlci5zdGFydEVqYnMgQ3JlYXRlZCBF
amIoZGVwbG95bWVudC1pZD1vcGVuZWpiL0RlcGxveWVyLCBlamItbmFtZT1vcGVuZWpiL0Rl
cGxveWVyLCBjb250YWluZXI9RGVmYXVsdCBTaW5nbGV0b24gQ29udGFpbmVyKQ0KMTItSnVs
LTIwMjUgMTA6NTM6MzYuMTY4IElORk9STUFUSU9OIFttYWluXSBvcmcuYXBhY2hlLm9wZW5l
amIuYXNzZW1ibGVyLmNsYXNzaWMuQXNzZW1ibGVyLnN0YXJ0RWpicyBTdGFydGVkIEVqYihk
ZXBsb3ltZW50LWlkPW9wZW5lamIvQ29uZmlndXJhdGlvbkluZm8sIGVqYi1uYW1lPW9wZW5l
amIvRGVwbG95ZXIsIGNvbnRhaW5lcj1EZWZhdWx0IFNpbmdsZXRvbiBDb250YWluZXIpDQox
Mi1KdWwtMjAyNSAxMDo1MzozNi4xNjggSU5GT1JNQVRJT04gW21haW5dIG9yZy5hcGFjaGUu
b3BlbmVqYi5hc3NlbWJsZXIuY2xhc3NpYy5Bc3NlbWJsZXIuc3RhcnRFamJzIFN0YXJ0ZWQg
RWpiKGRlcGxveW1lbnQtaWQ9b3BlbmVqYi9EZXBsb3llciwgZWpiLW5hbWU9b3BlbmVqYi9E
ZXBsb3llciwgY29udGFpbmVyPURlZmF1bHQgU2luZ2xldG9uIENvbnRhaW5lcikNCjEyLUp1
bC0yMDI1IDEwOjUzOjM2LjE3MSBJTkZPUk1BVElPTiBbbWFpbl0gb3JnLmFwYWNoZS5vcGVu
ZWpiLmFzc2VtYmxlci5jbGFzc2ljLkFzc2VtYmxlci5kZXBsb3lNQmVhbiBEZXBsb3llZCBN
QmVhbihvcGVuZWpiLnVzZXIubWJlYW5zOmFwcGxpY2F0aW9uPW9wZW5lamIsZ3JvdXA9b3Jn
LmFwYWNoZS5vcGVuZWpiLmFzc2VtYmxlci5tb25pdG9yaW5nLG5hbWU9Sk1YRGVwbG95ZXIp
DQoxMi1KdWwtMjAyNSAxMDo1MzozNi4xNzIgSU5GT1JNQVRJT04gW21haW5dIG9yZy5hcGFj
aGUub3BlbmVqYi5hc3NlbWJsZXIuY2xhc3NpYy5Bc3NlbWJsZXIuY3JlYXRlQXBwbGljYXRp
b24gRGVwbG95ZWQgQXBwbGljYXRpb24ocGF0aD1vcGVuZWpiKQ0KMTItSnVsLTIwMjUgMTA6
NTM6MzYuMjAwIElORk9STUFUSU9OIFttYWluXSBvcmcuYXBhY2hlLm9wZW5lamIuc2VydmVy
LlNlcnZpY2VNYW5hZ2VyLmluaXRTZXJ2ZXIgQ3JlYXRpbmcgU2VydmVyU2VydmljZShpZD1j
eGYpDQoxMi1KdWwtMjAyNSAxMDo1MzozNi4zMDkgSU5GT1JNQVRJT04gW21haW5dIG9yZy5h
cGFjaGUub3BlbmVqYi5zZXJ2ZXIuU2VydmljZU1hbmFnZXIuaW5pdFNlcnZlciBDcmVhdGlu
ZyBTZXJ2ZXJTZXJ2aWNlKGlkPWN4Zi1ycykNCjEyLUp1bC0yMDI1IDEwOjUzOjM2LjM1MiBJ
TkZPUk1BVElPTiBbbWFpbl0gb3JnLmFwYWNoZS5vcGVuZWpiLnNlcnZlci5TaW1wbGVTZXJ2
aWNlTWFuYWdlci5zdGFydCAgICoqIEJvdW5kIFNlcnZpY2VzICoqDQoxMi1KdWwtMjAyNSAx
MDo1MzozNi4zNTIgSU5GT1JNQVRJT04gW21haW5dIG9yZy5hcGFjaGUub3BlbmVqYi5zZXJ2
ZXIuU2ltcGxlU2VydmljZU1hbmFnZXIucHJpbnRSb3cgICBOQU1FICAgICAgICAgICAgICAg
ICBJUCAgICAgICAgICAgICAgUE9SVCAgDQoxMi1KdWwtMjAyNSAxMDo1MzozNi4zNTIgSU5G
T1JNQVRJT04gW21haW5dIG9yZy5hcGFjaGUub3BlbmVqYi5zZXJ2ZXIuU2ltcGxlU2Vydmlj
ZU1hbmFnZXIuc3RhcnQgLS0tLS0tLQ0KMTItSnVsLTIwMjUgMTA6NTM6MzYuMzUyIElORk9S
TUFUSU9OIFttYWluXSBvcmcuYXBhY2hlLm9wZW5lamIuc2VydmVyLlNpbXBsZVNlcnZpY2VN
YW5hZ2VyLnN0YXJ0IFJlYWR5IQ0KMTItSnVsLTIwMjUgMTA6NTM6MzYuMzUyIElORk9STUFU
SU9OIFttYWluXSBqYXZhLmxhbmcucmVmbGVjdC5NZXRob2QuaW52b2tlIFNlcnZlciBpbml0
aWFsaXphdGlvbiBpbiBbOTYxXSBtaWxsaXNlY29uZHMNCjEyLUp1bC0yMDI1IDEwOjUzOjM2
LjM3MSBJTkZPUk1BVElPTiBbbWFpbl0gb3JnLmFwYWNoZS50b21lZS5jYXRhbGluYS5PcGVu
RUpCTmFtaW5nQ29udGV4dExpc3RlbmVyLmJpbmRSZXNvdXJjZSBJbXBvcnRpbmcgYSBUb21j
YXQgUmVzb3VyY2Ugd2l0aCBpZCAnVXNlckRhdGFiYXNlJyBvZiB0eXBlICdvcmcuYXBhY2hl
LmNhdGFsaW5hLlVzZXJEYXRhYmFzZScuDQoxMi1KdWwtMjAyNSAxMDo1MzozNi4zNzMgSU5G
T1JNQVRJT04gW21haW5dIG9yZy5hcGFjaGUub3BlbmVqYi5hc3NlbWJsZXIuY2xhc3NpYy5B
c3NlbWJsZXIuY3JlYXRlUmVjaXBlIENyZWF0aW5nIFJlc291cmNlKGlkPVVzZXJEYXRhYmFz
ZSkNCjEyLUp1bC0yMDI1IDEwOjUzOjM2LjM4NCBJTkZPUk1BVElPTiBbbWFpbl0gamF2YS5s
YW5nLnJlZmxlY3QuTWV0aG9kLmludm9rZSBTdGFydGluZyBzZXJ2aWNlIFtDYXRhbGluYV0N
CjEyLUp1bC0yMDI1IDEwOjUzOjM2LjM4NCBJTkZPUk1BVElPTiBbbWFpbl0gamF2YS5sYW5n
LnJlZmxlY3QuTWV0aG9kLmludm9rZSBTdGFydGluZyBTZXJ2bGV0IGVuZ2luZTogW0FwYWNo
ZSBUb21jYXQgKFRvbUVFKS8xMC4xLjQzICgxMC4xLjEtU05BUFNIT1QpXQ0KMTItSnVsLTIw
MjUgMTA6NTM6MzYuNDM1IElORk9STUFUSU9OIFttYWluXSBqYXZhLmxhbmcucmVmbGVjdC5N
ZXRob2QuaW52b2tlIFN0YXJ0aW5nIFByb3RvY29sSGFuZGxlciBbImh0dHAtbmlvLTgwODAi
XQ0KMTItSnVsLTIwMjUgMTA6NTM6MzYuNDQ5IElORk9STUFUSU9OIFttYWluXSBqYXZhLmxh
bmcucmVmbGVjdC5NZXRob2QuaW52b2tlIFNlcnZlciBzdGFydHVwIGluIFs5Nl0gbWlsbGlz
ZWNvbmRzDQpqYXZhLnV0aWwuY29uY3VycmVudC5FeGVjdXRpb25FeGNlcHRpb246IGphdmEu
bGFuZy5JbGxlZ2FsQXJndW1lbnRFeGNlcHRpb246IGNhbid0IHBhcnNlIGFyZ3VtZW50IG51
bWJlcjogDQoJYXQgamF2YS5iYXNlL2phdmEudXRpbC5jb25jdXJyZW50LkZ1dHVyZVRhc2su
cmVwb3J0KEZ1dHVyZVRhc2suamF2YToxMjQpDQoJYXQgamF2YS5iYXNlL2phdmEudXRpbC5j
b25jdXJyZW50LkZ1dHVyZVRhc2suZ2V0KEZ1dHVyZVRhc2suamF2YToxOTMpDQoJYXQgb3Jn
LmFwYWNoZS5vcGVuZWpiLnV0aWwuTWVtb2l6ZXIuY29tcHV0ZShNZW1vaXplci5qYXZhOjYz
KQ0KCWF0IG9yZy5hcGFjaGUub3BlbmVqYi51dGlsLkxvZ2dlci5mb3JtYXRNZXNzYWdlKExv
Z2dlci5qYXZhOjM5OCkNCglhdCBvcmcuYXBhY2hlLm9wZW5lamIudXRpbC5Mb2dnZXIud2Fy
bmluZyhMb2dnZXIuamF2YTo2NDMpDQoJYXQgb3JnLmFwYWNoZS5vcGVuZWpiLmNvcmUuc2Vj
dXJpdHkuQWJzdHJhY3RTZWN1cml0eVNlcnZpY2UuaXNDYWxsZXJBdXRob3JpemVkKEFic3Ry
YWN0U2VjdXJpdHlTZXJ2aWNlLmphdmE6Mzk4KQ0KCWF0IG9yZy5hcGFjaGUub3BlbmVqYi5j
b3JlLnNpbmdsZXRvbi5TaW5nbGV0b25Db250YWluZXIuaW52b2tlKFNpbmdsZXRvbkNvbnRh
aW5lci5qYXZhOjE5MikNCglhdCBvcmcuYXBhY2hlLm9wZW5lamIuY29yZS5pdm0uRWpiSG9t
ZVByb3h5SGFuZGxlci5jcmVhdGUoRWpiSG9tZVByb3h5SGFuZGxlci5qYXZhOjM0MykNCglh
dCBvcmcuYXBhY2hlLm9wZW5lamIuY29yZS5pdm0uRWpiSG9tZVByb3h5SGFuZGxlci5faW52
b2tlKEVqYkhvbWVQcm94eUhhbmRsZXIuamF2YToxOTYpDQoJYXQgb3JnLmFwYWNoZS5vcGVu
ZWpiLmNvcmUuaXZtLkJhc2VFamJQcm94eUhhbmRsZXIuaW52b2tlKEJhc2VFamJQcm94eUhh
bmRsZXIuamF2YTozNDkpDQoJYXQgamRrLnByb3h5My9qZGsucHJveHkzLiRQcm94eTMwLmNy
ZWF0ZShVbmtub3duIFNvdXJjZSkNCglhdCBvcmcuYXBhY2hlLm9wZW5lamIuY29yZS5pdm0u
bmFtaW5nLkJ1c2luZXNzUmVtb3RlUmVmZXJlbmNlLmdldE9iamVjdChCdXNpbmVzc1JlbW90
ZVJlZmVyZW5jZS5qYXZhOjM2KQ0KCWF0IG9yZy5hcGFjaGUub3BlbmVqYi5jb3JlLml2bS5u
YW1pbmcuSXZtQ29udGV4dC5sb29rdXAoSXZtQ29udGV4dC5qYXZhOjE4NikNCglhdCBvcmcu
YXBhY2hlLm9wZW5lamIuc2VydmVyLmVqYmQuSm5kaVJlcXVlc3RIYW5kbGVyLmRvTG9va3Vw
KEpuZGlSZXF1ZXN0SGFuZGxlci5qYXZhOjI2MSkNCglhdCBvcmcuYXBhY2hlLm9wZW5lamIu
c2VydmVyLmVqYmQuSm5kaVJlcXVlc3RIYW5kbGVyLnByb2Nlc3NSZXNwb25zZShKbmRpUmVx
dWVzdEhhbmRsZXIuamF2YToxNzQpDQoJYXQgb3JnLmFwYWNoZS5vcGVuZWpiLnNlcnZlci5l
amJkLkVqYkRhZW1vbi5wcm9jZXNzSm5kaVJlc3BvbnNlKEVqYkRhZW1vbi5qYXZhOjM4MCkN
CglhdCBvcmcuYXBhY2hlLm9wZW5lamIuc2VydmVyLmVqYmQuRWpiRGFlbW9uLnNlcnZpY2Uo
RWpiRGFlbW9uLmphdmE6MjgyKQ0KCWF0IG9yZy5hcGFjaGUub3BlbmVqYi5zZXJ2ZXIuZWpi
ZC5FamJTZXJ2ZXIuc2VydmljZShFamJTZXJ2ZXIuamF2YToxMDQpDQoJYXQgb3JnLmFwYWNo
ZS5vcGVuZWpiLnNlcnZlci5odHRwZC5TZXJ2ZXJTZXJ2bGV0LnNlcnZpY2UoU2VydmVyU2Vy
dmxldC5qYXZhOjYwKQ0KCWF0IGpha2FydGEuc2VydmxldC5odHRwLkh0dHBTZXJ2bGV0LnNl
cnZpY2UoSHR0cFNlcnZsZXQuamF2YTo2NTgpDQoJYXQgb3JnLmFwYWNoZS5jYXRhbGluYS5j
b3JlLkFwcGxpY2F0aW9uRmlsdGVyQ2hhaW4uaW50ZXJuYWxEb0ZpbHRlcihBcHBsaWNhdGlv
bkZpbHRlckNoYWluLmphdmE6MTk1KQ0KCWF0IG9yZy5hcGFjaGUuY2F0YWxpbmEuY29yZS5B
cHBsaWNhdGlvbkZpbHRlckNoYWluLmRvRmlsdGVyKEFwcGxpY2F0aW9uRmlsdGVyQ2hhaW4u
amF2YToxNDApDQoJYXQgb3JnLmFwYWNoZS5jYXRhbGluYS5jb3JlLlN0YW5kYXJkV3JhcHBl
clZhbHZlLmludm9rZShTdGFuZGFyZFdyYXBwZXJWYWx2ZS5qYXZhOjE2NykNCglhdCBvcmcu
YXBhY2hlLmNhdGFsaW5hLmNvcmUuU3RhbmRhcmRDb250ZXh0VmFsdmUuaW52b2tlKFN0YW5k
YXJkQ29udGV4dFZhbHZlLmphdmE6OTApDQoJYXQgb3JnLmFwYWNoZS50b21lZS5jYXRhbGlu
YS5PcGVuRUpCVmFsdmUuaW52b2tlKE9wZW5FSkJWYWx2ZS5qYXZhOjQ1KQ0KCWF0IG9yZy5h
cGFjaGUuY2F0YWxpbmEuY29yZS5TdGFuZGFyZEhvc3RWYWx2ZS5pbnZva2UoU3RhbmRhcmRI
b3N0VmFsdmUuamF2YToxMTYpDQoJYXQgb3JnLmFwYWNoZS5jYXRhbGluYS52YWx2ZXMuRXJy
b3JSZXBvcnRWYWx2ZS5pbnZva2UoRXJyb3JSZXBvcnRWYWx2ZS5qYXZhOjkzKQ0KCWF0IG9y
Zy5hcGFjaGUudG9tZWUuY2F0YWxpbmEuT3BlbkVKQlNlY3VyaXR5TGlzdGVuZXIkUmVxdWVz
dENhcHR1cmVyLmludm9rZShPcGVuRUpCU2VjdXJpdHlMaXN0ZW5lci5qYXZhOjk3KQ0KCWF0
IG9yZy5hcGFjaGUuY2F0YWxpbmEudmFsdmVzLkFic3RyYWN0QWNjZXNzTG9nVmFsdmUuaW52
b2tlKEFic3RyYWN0QWNjZXNzTG9nVmFsdmUuamF2YTo2NjYpDQoJYXQgb3JnLmFwYWNoZS5j
YXRhbGluYS5jb3JlLlN0YW5kYXJkRW5naW5lVmFsdmUuaW52b2tlKFN0YW5kYXJkRW5naW5l
VmFsdmUuamF2YTo3NCkNCglhdCBvcmcuYXBhY2hlLmNhdGFsaW5hLmNvbm5lY3Rvci5Db3lv
dGVBZGFwdGVyLnNlcnZpY2UoQ295b3RlQWRhcHRlci5qYXZhOjM0NCkNCglhdCBvcmcuYXBh
Y2hlLmNveW90ZS5odHRwMTEuSHR0cDExUHJvY2Vzc29yLnNlcnZpY2UoSHR0cDExUHJvY2Vz
c29yLmphdmE6Mzk4KQ0KCWF0IG9yZy5hcGFjaGUuY295b3RlLkFic3RyYWN0UHJvY2Vzc29y
TGlnaHQucHJvY2VzcyhBYnN0cmFjdFByb2Nlc3NvckxpZ2h0LmphdmE6NjMpDQoJYXQgb3Jn
LmFwYWNoZS5jb3lvdGUuQWJzdHJhY3RQcm90b2NvbCRDb25uZWN0aW9uSGFuZGxlci5wcm9j
ZXNzKEFic3RyYWN0UHJvdG9jb2wuamF2YTo5MDMpDQoJYXQgb3JnLmFwYWNoZS50b21jYXQu
dXRpbC5uZXQuTmlvRW5kcG9pbnQkU29ja2V0UHJvY2Vzc29yLmRvUnVuKE5pb0VuZHBvaW50
LmphdmE6MTc2OSkNCglhdCBvcmcuYXBhY2hlLnRvbWNhdC51dGlsLm5ldC5Tb2NrZXRQcm9j
ZXNzb3JCYXNlLnJ1bihTb2NrZXRQcm9jZXNzb3JCYXNlLmphdmE6NTIpDQoJYXQgb3JnLmFw
YWNoZS50b21jYXQudXRpbC50aHJlYWRzLlRocmVhZFBvb2xFeGVjdXRvci5ydW5Xb3JrZXIo
VGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6MTE4OSkNCglhdCBvcmcuYXBhY2hlLnRvbWNhdC51
dGlsLnRocmVhZHMuVGhyZWFkUG9vbEV4ZWN1dG9yJFdvcmtlci5ydW4oVGhyZWFkUG9vbEV4
ZWN1dG9yLmphdmE6NjU4KQ0KCWF0IG9yZy5hcGFjaGUudG9tY2F0LnV0aWwudGhyZWFkcy5U
YXNrVGhyZWFkJFdyYXBwaW5nUnVubmFibGUucnVuKFRhc2tUaHJlYWQuamF2YTo2MykNCglh
dCBqYXZhLmJhc2UvamF2YS5sYW5nLlRocmVhZC5ydW4oVGhyZWFkLmphdmE6MTQ0NykNCkNh
dXNlZCBieTogamF2YS5sYW5nLklsbGVnYWxBcmd1bWVudEV4Y2VwdGlvbjogY2FuJ3QgcGFy
c2UgYXJndW1lbnQgbnVtYmVyOiANCglhdCBqYXZhLmJhc2UvamF2YS50ZXh0Lk1lc3NhZ2VG
b3JtYXQuc2V0Rm9ybWF0RnJvbVBhdHRlcm4oTWVzc2FnZUZvcm1hdC5qYXZhOjE2NDQpDQoJ
YXQgamF2YS5iYXNlL2phdmEudGV4dC5NZXNzYWdlRm9ybWF0LmFwcGx5UGF0dGVybkltcGwo
TWVzc2FnZUZvcm1hdC5qYXZhOjY2MCkNCglhdCBqYXZhLmJhc2UvamF2YS50ZXh0Lk1lc3Nh
Z2VGb3JtYXQuPGluaXQ+KE1lc3NhZ2VGb3JtYXQuamF2YTo1MTYpDQoJYXQgb3JnLmFwYWNo
ZS5vcGVuZWpiLnV0aWwuTWVtb2l6ZXIkMS5jYWxsKE1lbW9pemVyLmphdmE6NTIpDQoJYXQg
amF2YS5iYXNlL2phdmEudXRpbC5jb25jdXJyZW50LkZ1dHVyZVRhc2sucnVuKEZ1dHVyZVRh
c2suamF2YTozMjgpDQoJYXQgb3JnLmFwYWNoZS5vcGVuZWpiLnV0aWwuTWVtb2l6ZXIuY29t
cHV0ZShNZW1vaXplci5qYXZhOjU5KQ0KCS4uLiAzNyBtb3JlDQpDYXVzZWQgYnk6IGphdmEu
bGFuZy5OdW1iZXJGb3JtYXRFeGNlcHRpb246IEZvciBpbnB1dCBzdHJpbmc6ICIiDQoJYXQg
amF2YS5iYXNlL2phdmEubGFuZy5OdW1iZXJGb3JtYXRFeGNlcHRpb24uZm9ySW5wdXRTdHJp
bmcoTnVtYmVyRm9ybWF0RXhjZXB0aW9uLmphdmE6NjcpDQoJYXQgamF2YS5iYXNlL2phdmEu
bGFuZy5JbnRlZ2VyLnBhcnNlSW50KEludGVnZXIuamF2YTo1NDEpDQoJYXQgamF2YS5iYXNl
L2phdmEubGFuZy5JbnRlZ2VyLnBhcnNlSW50KEludGVnZXIuamF2YTo2NjEpDQoJYXQgamF2
YS5iYXNlL2phdmEudGV4dC5NZXNzYWdlRm9ybWF0LnNldEZvcm1hdEZyb21QYXR0ZXJuKE1l
c3NhZ2VGb3JtYXQuamF2YToxNjQyKQ0KCS4uLiA0MiBtb3JlDQpqYXZhLnV0aWwuY29uY3Vy
cmVudC5FeGVjdXRpb25FeGNlcHRpb246IGphdmEubGFuZy5JbGxlZ2FsQXJndW1lbnRFeGNl
cHRpb246IGNhbid0IHBhcnNlIGFyZ3VtZW50IG51bWJlcjogDQoJYXQgamF2YS5iYXNlL2ph
dmEudXRpbC5jb25jdXJyZW50LkZ1dHVyZVRhc2sucmVwb3J0KEZ1dHVyZVRhc2suamF2YTox
MjQpDQoJYXQgamF2YS5iYXNlL2phdmEudXRpbC5jb25jdXJyZW50LkZ1dHVyZVRhc2suZ2V0
KEZ1dHVyZVRhc2suamF2YToxOTMpDQoJYXQgb3JnLmFwYWNoZS5vcGVuZWpiLnV0aWwuTWVt
b2l6ZXIuY29tcHV0ZShNZW1vaXplci5qYXZhOjYzKQ0KCWF0IG9yZy5hcGFjaGUub3BlbmVq
Yi51dGlsLkxvZ2dlci5mb3JtYXRNZXNzYWdlKExvZ2dlci5qYXZhOjM5OCkNCglhdCBvcmcu
YXBhY2hlLm9wZW5lamIudXRpbC5Mb2dnZXIud2FybmluZyhMb2dnZXIuamF2YTo2NDMpDQoJ
YXQgb3JnLmFwYWNoZS5vcGVuZWpiLmNvcmUuc2VjdXJpdHkuQWJzdHJhY3RTZWN1cml0eVNl
cnZpY2UuaXNDYWxsZXJBdXRob3JpemVkKEFic3RyYWN0U2VjdXJpdHlTZXJ2aWNlLmphdmE6
Mzk4KQ0KCWF0IG9yZy5hcGFjaGUub3BlbmVqYi5jb3JlLnNpbmdsZXRvbi5TaW5nbGV0b25D
b250YWluZXIuaW52b2tlKFNpbmdsZXRvbkNvbnRhaW5lci5qYXZhOjE5MikNCglhdCBvcmcu
YXBhY2hlLm9wZW5lamIuY29yZS5pdm0uRWpiSG9tZVByb3h5SGFuZGxlci5jcmVhdGUoRWpi
SG9tZVByb3h5SGFuZGxlci5qYXZhOjM0MykNCglhdCBvcmcuYXBhY2hlLm9wZW5lamIuY29y
ZS5pdm0uRWpiSG9tZVByb3h5SGFuZGxlci5faW52b2tlKEVqYkhvbWVQcm94eUhhbmRsZXIu
amF2YToxOTYpDQoJYXQgb3JnLmFwYWNoZS5vcGVuZWpiLmNvcmUuaXZtLkJhc2VFamJQcm94
eUhhbmRsZXIuaW52b2tlKEJhc2VFamJQcm94eUhhbmRsZXIuamF2YTozNDkpDQoJYXQgamRr
LnByb3h5My9qZGsucHJveHkzLiRQcm94eTMwLmNyZWF0ZShVbmtub3duIFNvdXJjZSkNCglh
dCBvcmcuYXBhY2hlLm9wZW5lamIuY29yZS5pdm0ubmFtaW5nLkJ1c2luZXNzUmVtb3RlUmVm
ZXJlbmNlLmdldE9iamVjdChCdXNpbmVzc1JlbW90ZVJlZmVyZW5jZS5qYXZhOjM2KQ0KCWF0
IG9yZy5hcGFjaGUub3BlbmVqYi5jb3JlLml2bS5uYW1pbmcuSXZtQ29udGV4dC5sb29rdXAo
SXZtQ29udGV4dC5qYXZhOjE4NikNCglhdCBvcmcuYXBhY2hlLm9wZW5lamIuc2VydmVyLmVq
YmQuSm5kaVJlcXVlc3RIYW5kbGVyLmRvTG9va3VwKEpuZGlSZXF1ZXN0SGFuZGxlci5qYXZh
OjI2MSkNCglhdCBvcmcuYXBhY2hlLm9wZW5lamIuc2VydmVyLmVqYmQuSm5kaVJlcXVlc3RI
YW5kbGVyLnByb2Nlc3NSZXNwb25zZShKbmRpUmVxdWVzdEhhbmRsZXIuamF2YToxNzQpDQoJ
YXQgb3JnLmFwYWNoZS5vcGVuZWpiLnNlcnZlci5lamJkLkVqYkRhZW1vbi5wcm9jZXNzSm5k
aVJlc3BvbnNlKEVqYkRhZW1vbi5qYXZhOjM4MCkNCglhdCBvcmcuYXBhY2hlLm9wZW5lamIu
c2VydmVyLmVqYmQuRWpiRGFlbW9uLnNlcnZpY2UoRWpiRGFlbW9uLmphdmE6MjgyKQ0KCWF0
IG9yZy5hcGFjaGUub3BlbmVqYi5zZXJ2ZXIuZWpiZC5FamJTZXJ2ZXIuc2VydmljZShFamJT
ZXJ2ZXIuamF2YToxMDQpDQoJYXQgb3JnLmFwYWNoZS5vcGVuZWpiLnNlcnZlci5odHRwZC5T
ZXJ2ZXJTZXJ2bGV0LnNlcnZpY2UoU2VydmVyU2VydmxldC5qYXZhOjYwKQ0KCWF0IGpha2Fy
dGEuc2VydmxldC5odHRwLkh0dHBTZXJ2bGV0LnNlcnZpY2UoSHR0cFNlcnZsZXQuamF2YTo2
NTgpDQoJYXQgb3JnLmFwYWNoZS5jYXRhbGluYS5jb3JlLkFwcGxpY2F0aW9uRmlsdGVyQ2hh
aW4uaW50ZXJuYWxEb0ZpbHRlcihBcHBsaWNhdGlvbkZpbHRlckNoYWluLmphdmE6MTk1KQ0K
CWF0IG9yZy5hcGFjaGUuY2F0YWxpbmEuY29yZS5BcHBsaWNhdGlvbkZpbHRlckNoYWluLmRv
RmlsdGVyKEFwcGxpY2F0aW9uRmlsdGVyQ2hhaW4uamF2YToxNDApDQoJYXQgb3JnLmFwYWNo
ZS5jYXRhbGluYS5jb3JlLlN0YW5kYXJkV3JhcHBlclZhbHZlLmludm9rZShTdGFuZGFyZFdy
YXBwZXJWYWx2ZS5qYXZhOjE2NykNCglhdCBvcmcuYXBhY2hlLmNhdGFsaW5hLmNvcmUuU3Rh
bmRhcmRDb250ZXh0VmFsdmUuaW52b2tlKFN0YW5kYXJkQ29udGV4dFZhbHZlLmphdmE6OTAp
DQoJYXQgb3JnLmFwYWNoZS50b21lZS5jYXRhbGluYS5PcGVuRUpCVmFsdmUuaW52b2tlKE9w
ZW5FSkJWYWx2ZS5qYXZhOjQ1KQ0KCWF0IG9yZy5hcGFjaGUuY2F0YWxpbmEuY29yZS5TdGFu
ZGFyZEhvc3RWYWx2ZS5pbnZva2UoU3RhbmRhcmRIb3N0VmFsdmUuamF2YToxMTYpDQoJYXQg
b3JnLmFwYWNoZS5jYXRhbGluYS52YWx2ZXMuRXJyb3JSZXBvcnRWYWx2ZS5pbnZva2UoRXJy
b3JSZXBvcnRWYWx2ZS5qYXZhOjkzKQ0KCWF0IG9yZy5hcGFjaGUudG9tZWUuY2F0YWxpbmEu
T3BlbkVKQlNlY3VyaXR5TGlzdGVuZXIkUmVxdWVzdENhcHR1cmVyLmludm9rZShPcGVuRUpC
U2VjdXJpdHlMaXN0ZW5lci5qYXZhOjk3KQ0KCWF0IG9yZy5hcGFjaGUuY2F0YWxpbmEudmFs
dmVzLkFic3RyYWN0QWNjZXNzTG9nVmFsdmUuaW52b2tlKEFic3RyYWN0QWNjZXNzTG9nVmFs
dmUuamF2YTo2NjYpDQoJYXQgb3JnLmFwYWNoZS5jYXRhbGluYS5jb3JlLlN0YW5kYXJkRW5n
aW5lVmFsdmUuaW52b2tlKFN0YW5kYXJkRW5naW5lVmFsdmUuamF2YTo3NCkNCglhdCBvcmcu
YXBhY2hlLmNhdGFsaW5hLmNvbm5lY3Rvci5Db3lvdGVBZGFwdGVyLnNlcnZpY2UoQ295b3Rl
QWRhcHRlci5qYXZhOjM0NCkNCglhdCBvcmcuYXBhY2hlLmNveW90ZS5odHRwMTEuSHR0cDEx
UHJvY2Vzc29yLnNlcnZpY2UoSHR0cDExUHJvY2Vzc29yLmphdmE6Mzk4KQ0KCWF0IG9yZy5h
cGFjaGUuY295b3RlLkFic3RyYWN0UHJvY2Vzc29yTGlnaHQucHJvY2VzcyhBYnN0cmFjdFBy
b2Nlc3NvckxpZ2h0LmphdmE6NjMpDQoJYXQgb3JnLmFwYWNoZS5jb3lvdGUuQWJzdHJhY3RQ
cm90b2NvbCRDb25uZWN0aW9uSGFuZGxlci5wcm9jZXNzKEFic3RyYWN0UHJvdG9jb2wuamF2
YTo5MDMpDQoJYXQgb3JnLmFwYWNoZS50b21jYXQudXRpbC5uZXQuTmlvRW5kcG9pbnQkU29j
a2V0UHJvY2Vzc29yLmRvUnVuKE5pb0VuZHBvaW50LmphdmE6MTc2OSkNCglhdCBvcmcuYXBh
Y2hlLnRvbWNhdC51dGlsLm5ldC5Tb2NrZXRQcm9jZXNzb3JCYXNlLnJ1bihTb2NrZXRQcm9j
ZXNzb3JCYXNlLmphdmE6NTIpDQoJYXQgb3JnLmFwYWNoZS50b21jYXQudXRpbC50aHJlYWRz
LlRocmVhZFBvb2xFeGVjdXRvci5ydW5Xb3JrZXIoVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6
MTE4OSkNCglhdCBvcmcuYXBhY2hlLnRvbWNhdC51dGlsLnRocmVhZHMuVGhyZWFkUG9vbEV4
ZWN1dG9yJFdvcmtlci5ydW4oVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6NjU4KQ0KCWF0IG9y
Zy5hcGFjaGUudG9tY2F0LnV0aWwudGhyZWFkcy5UYXNrVGhyZWFkJFdyYXBwaW5nUnVubmFi
bGUucnVuKFRhc2tUaHJlYWQuamF2YTo2MykNCglhdCBqYXZhLmJhc2UvamF2YS5sYW5nLlRo
cmVhZC5ydW4oVGhyZWFkLmphdmE6MTQ0NykNCkNhdXNlZCBieTogamF2YS5sYW5nLklsbGVn
YWxBcmd1bWVudEV4Y2VwdGlvbjogY2FuJ3QgcGFyc2UgYXJndW1lbnQgbnVtYmVyOiANCglh
dCBqYXZhLmJhc2UvamF2YS50ZXh0Lk1lc3NhZ2VGb3JtYXQuc2V0Rm9ybWF0RnJvbVBhdHRl
cm4oTWVzc2FnZUZvcm1hdC5qYXZhOjE2NDQpDQoJYXQgamF2YS5iYXNlL2phdmEudGV4dC5N
ZXNzYWdlRm9ybWF0LmFwcGx5UGF0dGVybkltcGwoTWVzc2FnZUZvcm1hdC5qYXZhOjY2MCkN
CglhdCBqYXZhLmJhc2UvamF2YS50ZXh0Lk1lc3NhZ2VGb3JtYXQuPGluaXQ+KE1lc3NhZ2VG
b3JtYXQuamF2YTo1MTYpDQoJYXQgb3JnLmFwYWNoZS5vcGVuZWpiLnV0aWwuTWVtb2l6ZXIk
MS5jYWxsKE1lbW9pemVyLmphdmE6NTIpDQoJYXQgamF2YS5iYXNlL2phdmEudXRpbC5jb25j
dXJyZW50LkZ1dHVyZVRhc2sucnVuKEZ1dHVyZVRhc2suamF2YTozMjgpDQoJYXQgb3JnLmFw
YWNoZS5vcGVuZWpiLnV0aWwuTWVtb2l6ZXIuY29tcHV0ZShNZW1vaXplci5qYXZhOjU5KQ0K
CS4uLiAzNyBtb3JlDQpDYXVzZWQgYnk6IGphdmEubGFuZy5OdW1iZXJGb3JtYXRFeGNlcHRp
b246IEZvciBpbnB1dCBzdHJpbmc6ICIiDQoJYXQgamF2YS5iYXNlL2phdmEubGFuZy5OdW1i
ZXJGb3JtYXRFeGNlcHRpb24uZm9ySW5wdXRTdHJpbmcoTnVtYmVyRm9ybWF0RXhjZXB0aW9u
LmphdmE6NjcpDQoJYXQgamF2YS5iYXNlL2phdmEubGFuZy5JbnRlZ2VyLnBhcnNlSW50KElu
dGVnZXIuamF2YTo1NDEpDQoJYXQgamF2YS5iYXNlL2phdmEubGFuZy5JbnRlZ2VyLnBhcnNl
SW50KEludGVnZXIuamF2YTo2NjEpDQoJYXQgamF2YS5iYXNlL2phdmEudGV4dC5NZXNzYWdl
Rm9ybWF0LnNldEZvcm1hdEZyb21QYXR0ZXJuKE1lc3NhZ2VGb3JtYXQuamF2YToxNjQyKQ0K
CS4uLiA0MiBtb3JlDQpqYXZhLnV0aWwuY29uY3VycmVudC5FeGVjdXRpb25FeGNlcHRpb246
IGphdmEubGFuZy5JbGxlZ2FsQXJndW1lbnRFeGNlcHRpb246IGNhbid0IHBhcnNlIGFyZ3Vt
ZW50IG51bWJlcjogDQoJYXQgamF2YS5iYXNlL2phdmEudXRpbC5jb25jdXJyZW50LkZ1dHVy
ZVRhc2sucmVwb3J0KEZ1dHVyZVRhc2suamF2YToxMjQpDQoJYXQgamF2YS5iYXNlL2phdmEu
dXRpbC5jb25jdXJyZW50LkZ1dHVyZVRhc2suZ2V0KEZ1dHVyZVRhc2suamF2YToxOTMpDQoJ
YXQgb3JnLmFwYWNoZS5vcGVuZWpiLnV0aWwuTWVtb2l6ZXIuY29tcHV0ZShNZW1vaXplci5q
YXZhOjYzKQ0KCWF0IG9yZy5hcGFjaGUub3BlbmVqYi51dGlsLkxvZ2dlci5mb3JtYXRNZXNz
YWdlKExvZ2dlci5qYXZhOjM5OCkNCglhdCBvcmcuYXBhY2hlLm9wZW5lamIudXRpbC5Mb2dn
ZXIud2FybmluZyhMb2dnZXIuamF2YTo2NDMpDQoJYXQgb3JnLmFwYWNoZS5vcGVuZWpiLmNv
cmUuc2VjdXJpdHkuQWJzdHJhY3RTZWN1cml0eVNlcnZpY2UuaXNDYWxsZXJBdXRob3JpemVk
KEFic3RyYWN0U2VjdXJpdHlTZXJ2aWNlLmphdmE6Mzk4KQ0KCWF0IG9yZy5hcGFjaGUub3Bl
bmVqYi5jb3JlLnNpbmdsZXRvbi5TaW5nbGV0b25Db250YWluZXIuaW52b2tlKFNpbmdsZXRv
bkNvbnRhaW5lci5qYXZhOjE5MikNCglhdCBvcmcuYXBhY2hlLm9wZW5lamIuY29yZS5pdm0u
RWpiSG9tZVByb3h5SGFuZGxlci5jcmVhdGUoRWpiSG9tZVByb3h5SGFuZGxlci5qYXZhOjM0
MykNCglhdCBvcmcuYXBhY2hlLm9wZW5lamIuY29yZS5pdm0uRWpiSG9tZVByb3h5SGFuZGxl
ci5faW52b2tlKEVqYkhvbWVQcm94eUhhbmRsZXIuamF2YToxOTYpDQoJYXQgb3JnLmFwYWNo
ZS5vcGVuZWpiLmNvcmUuaXZtLkJhc2VFamJQcm94eUhhbmRsZXIuaW52b2tlKEJhc2VFamJQ
cm94eUhhbmRsZXIuamF2YTozNDkpDQoJYXQgamRrLnByb3h5My9qZGsucHJveHkzLiRQcm94
eTMwLmNyZWF0ZShVbmtub3duIFNvdXJjZSkNCglhdCBvcmcuYXBhY2hlLm9wZW5lamIuY29y
ZS5pdm0ubmFtaW5nLkJ1c2luZXNzUmVtb3RlUmVmZXJlbmNlLmdldE9iamVjdChCdXNpbmVz
c1JlbW90ZVJlZmVyZW5jZS5qYXZhOjM2KQ0KCWF0IG9yZy5hcGFjaGUub3BlbmVqYi5jb3Jl
Lml2bS5uYW1pbmcuSXZtQ29udGV4dC5sb29rdXAoSXZtQ29udGV4dC5qYXZhOjE4NikNCglh
dCBvcmcuYXBhY2hlLm9wZW5lamIuc2VydmVyLmVqYmQuSm5kaVJlcXVlc3RIYW5kbGVyLmRv
TG9va3VwKEpuZGlSZXF1ZXN0SGFuZGxlci5qYXZhOjI2MSkNCglhdCBvcmcuYXBhY2hlLm9w
ZW5lamIuc2VydmVyLmVqYmQuSm5kaVJlcXVlc3RIYW5kbGVyLnByb2Nlc3NSZXNwb25zZShK
bmRpUmVxdWVzdEhhbmRsZXIuamF2YToxNzQpDQoJYXQgb3JnLmFwYWNoZS5vcGVuZWpiLnNl
cnZlci5lamJkLkVqYkRhZW1vbi5wcm9jZXNzSm5kaVJlc3BvbnNlKEVqYkRhZW1vbi5qYXZh
OjM4MCkNCglhdCBvcmcuYXBhY2hlLm9wZW5lamIuc2VydmVyLmVqYmQuRWpiRGFlbW9uLnNl
cnZpY2UoRWpiRGFlbW9uLmphdmE6MjgyKQ0KCWF0IG9yZy5hcGFjaGUub3BlbmVqYi5zZXJ2
ZXIuZWpiZC5FamJTZXJ2ZXIuc2VydmljZShFamJTZXJ2ZXIuamF2YToxMDQpDQoJYXQgb3Jn
LmFwYWNoZS5vcGVuZWpiLnNlcnZlci5odHRwZC5TZXJ2ZXJTZXJ2bGV0LnNlcnZpY2UoU2Vy
dmVyU2VydmxldC5qYXZhOjYwKQ0KCWF0IGpha2FydGEuc2VydmxldC5odHRwLkh0dHBTZXJ2
bGV0LnNlcnZpY2UoSHR0cFNlcnZsZXQuamF2YTo2NTgpDQoJYXQgb3JnLmFwYWNoZS5jYXRh
bGluYS5jb3JlLkFwcGxpY2F0aW9uRmlsdGVyQ2hhaW4uaW50ZXJuYWxEb0ZpbHRlcihBcHBs
aWNhdGlvbkZpbHRlckNoYWluLmphdmE6MTk1KQ0KCWF0IG9yZy5hcGFjaGUuY2F0YWxpbmEu
Y29yZS5BcHBsaWNhdGlvbkZpbHRlckNoYWluLmRvRmlsdGVyKEFwcGxpY2F0aW9uRmlsdGVy
Q2hhaW4uamF2YToxNDApDQoJYXQgb3JnLmFwYWNoZS5jYXRhbGluYS5jb3JlLlN0YW5kYXJk
V3JhcHBlclZhbHZlLmludm9rZShTdGFuZGFyZFdyYXBwZXJWYWx2ZS5qYXZhOjE2NykNCglh
dCBvcmcuYXBhY2hlLmNhdGFsaW5hLmNvcmUuU3RhbmRhcmRDb250ZXh0VmFsdmUuaW52b2tl
KFN0YW5kYXJkQ29udGV4dFZhbHZlLmphdmE6OTApDQoJYXQgb3JnLmFwYWNoZS50b21lZS5j
YXRhbGluYS5PcGVuRUpCVmFsdmUuaW52b2tlKE9wZW5FSkJWYWx2ZS5qYXZhOjQ1KQ0KCWF0
IG9yZy5hcGFjaGUuY2F0YWxpbmEuY29yZS5TdGFuZGFyZEhvc3RWYWx2ZS5pbnZva2UoU3Rh
bmRhcmRIb3N0VmFsdmUuamF2YToxMTYpDQoJYXQgb3JnLmFwYWNoZS5jYXRhbGluYS52YWx2
ZXMuRXJyb3JSZXBvcnRWYWx2ZS5pbnZva2UoRXJyb3JSZXBvcnRWYWx2ZS5qYXZhOjkzKQ0K
CWF0IG9yZy5hcGFjaGUudG9tZWUuY2F0YWxpbmEuT3BlbkVKQlNlY3VyaXR5TGlzdGVuZXIk
UmVxdWVzdENhcHR1cmVyLmludm9rZShPcGVuRUpCU2VjdXJpdHlMaXN0ZW5lci5qYXZhOjk3
KQ0KCWF0IG9yZy5hcGFjaGUuY2F0YWxpbmEudmFsdmVzLkFic3RyYWN0QWNjZXNzTG9nVmFs
dmUuaW52b2tlKEFic3RyYWN0QWNjZXNzTG9nVmFsdmUuamF2YTo2NjYpDQoJYXQgb3JnLmFw
YWNoZS5jYXRhbGluYS5jb3JlLlN0YW5kYXJkRW5naW5lVmFsdmUuaW52b2tlKFN0YW5kYXJk
RW5naW5lVmFsdmUuamF2YTo3NCkNCglhdCBvcmcuYXBhY2hlLmNhdGFsaW5hLmNvbm5lY3Rv
ci5Db3lvdGVBZGFwdGVyLnNlcnZpY2UoQ295b3RlQWRhcHRlci5qYXZhOjM0NCkNCglhdCBv
cmcuYXBhY2hlLmNveW90ZS5odHRwMTEuSHR0cDExUHJvY2Vzc29yLnNlcnZpY2UoSHR0cDEx
UHJvY2Vzc29yLmphdmE6Mzk4KQ0KCWF0IG9yZy5hcGFjaGUuY295b3RlLkFic3RyYWN0UHJv
Y2Vzc29yTGlnaHQucHJvY2VzcyhBYnN0cmFjdFByb2Nlc3NvckxpZ2h0LmphdmE6NjMpDQoJ
YXQgb3JnLmFwYWNoZS5jb3lvdGUuQWJzdHJhY3RQcm90b2NvbCRDb25uZWN0aW9uSGFuZGxl
ci5wcm9jZXNzKEFic3RyYWN0UHJvdG9jb2wuamF2YTo5MDMpDQoJYXQgb3JnLmFwYWNoZS50
b21jYXQudXRpbC5uZXQuTmlvRW5kcG9pbnQkU29ja2V0UHJvY2Vzc29yLmRvUnVuKE5pb0Vu
ZHBvaW50LmphdmE6MTc2OSkNCglhdCBvcmcuYXBhY2hlLnRvbWNhdC51dGlsLm5ldC5Tb2Nr
ZXRQcm9jZXNzb3JCYXNlLnJ1bihTb2NrZXRQcm9jZXNzb3JCYXNlLmphdmE6NTIpDQoJYXQg
b3JnLmFwYWNoZS50b21jYXQudXRpbC50aHJlYWRzLlRocmVhZFBvb2xFeGVjdXRvci5ydW5X
b3JrZXIoVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6MTE4OSkNCglhdCBvcmcuYXBhY2hlLnRv
bWNhdC51dGlsLnRocmVhZHMuVGhyZWFkUG9vbEV4ZWN1dG9yJFdvcmtlci5ydW4oVGhyZWFk
UG9vbEV4ZWN1dG9yLmphdmE6NjU4KQ0KCWF0IG9yZy5hcGFjaGUudG9tY2F0LnV0aWwudGhy
ZWFkcy5UYXNrVGhyZWFkJFdyYXBwaW5nUnVubmFibGUucnVuKFRhc2tUaHJlYWQuamF2YTo2
MykNCglhdCBqYXZhLmJhc2UvamF2YS5sYW5nLlRocmVhZC5ydW4oVGhyZWFkLmphdmE6MTQ0
NykNCkNhdXNlZCBieTogamF2YS5sYW5nLklsbGVnYWxBcmd1bWVudEV4Y2VwdGlvbjogY2Fu
J3QgcGFyc2UgYXJndW1lbnQgbnVtYmVyOiANCglhdCBqYXZhLmJhc2UvamF2YS50ZXh0Lk1l
c3NhZ2VGb3JtYXQuc2V0Rm9ybWF0RnJvbVBhdHRlcm4oTWVzc2FnZUZvcm1hdC5qYXZhOjE2
NDQpDQoJYXQgamF2YS5iYXNlL2phdmEudGV4dC5NZXNzYWdlRm9ybWF0LmFwcGx5UGF0dGVy
bkltcGwoTWVzc2FnZUZvcm1hdC5qYXZhOjY2MCkNCglhdCBqYXZhLmJhc2UvamF2YS50ZXh0
Lk1lc3NhZ2VGb3JtYXQuPGluaXQ+KE1lc3NhZ2VGb3JtYXQuamF2YTo1MTYpDQoJYXQgb3Jn
LmFwYWNoZS5vcGVuZWpiLnV0aWwuTWVtb2l6ZXIkMS5jYWxsKE1lbW9pemVyLmphdmE6NTIp
DQoJYXQgamF2YS5iYXNlL2phdmEudXRpbC5jb25jdXJyZW50LkZ1dHVyZVRhc2sucnVuKEZ1
dHVyZVRhc2suamF2YTozMjgpDQoJYXQgb3JnLmFwYWNoZS5vcGVuZWpiLnV0aWwuTWVtb2l6
ZXIuY29tcHV0ZShNZW1vaXplci5qYXZhOjU5KQ0KCS4uLiAzNyBtb3JlDQpDYXVzZWQgYnk6
IGphdmEubGFuZy5OdW1iZXJGb3JtYXRFeGNlcHRpb246IEZvciBpbnB1dCBzdHJpbmc6ICIi
DQoJYXQgamF2YS5iYXNlL2phdmEubGFuZy5OdW1iZXJGb3JtYXRFeGNlcHRpb24uZm9ySW5w
dXRTdHJpbmcoTnVtYmVyRm9ybWF0RXhjZXB0aW9uLmphdmE6NjcpDQoJYXQgamF2YS5iYXNl
L2phdmEubGFuZy5JbnRlZ2VyLnBhcnNlSW50KEludGVnZXIuamF2YTo1NDEpDQoJYXQgamF2
YS5iYXNlL2phdmEubGFuZy5JbnRlZ2VyLnBhcnNlSW50KEludGVnZXIuamF2YTo2NjEpDQoJ
YXQgamF2YS5iYXNlL2phdmEudGV4dC5NZXNzYWdlRm9ybWF0LnNldEZvcm1hdEZyb21QYXR0
ZXJuKE1lc3NhZ2VGb3JtYXQuamF2YToxNjQyKQ0KCS4uLiA0MiBtb3JlDQpqYXZhLnV0aWwu
Y29uY3VycmVudC5FeGVjdXRpb25FeGNlcHRpb246IGphdmEubGFuZy5JbGxlZ2FsQXJndW1l
bnRFeGNlcHRpb246IGNhbid0IHBhcnNlIGFyZ3VtZW50IG51bWJlcjogDQoJYXQgamF2YS5i
YXNlL2phdmEudXRpbC5jb25jdXJyZW50LkZ1dHVyZVRhc2sucmVwb3J0KEZ1dHVyZVRhc2su
amF2YToxMjQpDQoJYXQgamF2YS5iYXNlL2phdmEudXRpbC5jb25jdXJyZW50LkZ1dHVyZVRh
c2suZ2V0KEZ1dHVyZVRhc2suamF2YToxOTMpDQoJYXQgb3JnLmFwYWNoZS5vcGVuZWpiLnV0
aWwuTWVtb2l6ZXIuY29tcHV0ZShNZW1vaXplci5qYXZhOjYzKQ0KCWF0IG9yZy5hcGFjaGUu
b3BlbmVqYi51dGlsLkxvZ2dlci5mb3JtYXRNZXNzYWdlKExvZ2dlci5qYXZhOjM5OCkNCglh
dCBvcmcuYXBhY2hlLm9wZW5lamIudXRpbC5Mb2dnZXIud2FybmluZyhMb2dnZXIuamF2YTo2
NDMpDQoJYXQgb3JnLmFwYWNoZS5vcGVuZWpiLmNvcmUuc2VjdXJpdHkuQWJzdHJhY3RTZWN1
cml0eVNlcnZpY2UuaXNDYWxsZXJBdXRob3JpemVkKEFic3RyYWN0U2VjdXJpdHlTZXJ2aWNl
LmphdmE6Mzk4KQ0KCWF0IG9yZy5hcGFjaGUub3BlbmVqYi5jb3JlLnNpbmdsZXRvbi5TaW5n
bGV0b25Db250YWluZXIuaW52b2tlKFNpbmdsZXRvbkNvbnRhaW5lci5qYXZhOjE5MikNCglh
dCBvcmcuYXBhY2hlLm9wZW5lamIuY29yZS5pdm0uRWpiSG9tZVByb3h5SGFuZGxlci5jcmVh
dGUoRWpiSG9tZVByb3h5SGFuZGxlci5qYXZhOjM0MykNCglhdCBvcmcuYXBhY2hlLm9wZW5l
amIuY29yZS5pdm0uRWpiSG9tZVByb3h5SGFuZGxlci5faW52b2tlKEVqYkhvbWVQcm94eUhh
bmRsZXIuamF2YToxOTYpDQoJYXQgb3JnLmFwYWNoZS5vcGVuZWpiLmNvcmUuaXZtLkJhc2VF
amJQcm94eUhhbmRsZXIuaW52b2tlKEJhc2VFamJQcm94eUhhbmRsZXIuamF2YTozNDkpDQoJ
YXQgamRrLnByb3h5My9qZGsucHJveHkzLiRQcm94eTMwLmNyZWF0ZShVbmtub3duIFNvdXJj
ZSkNCglhdCBvcmcuYXBhY2hlLm9wZW5lamIuY29yZS5pdm0ubmFtaW5nLkJ1c2luZXNzUmVt
b3RlUmVmZXJlbmNlLmdldE9iamVjdChCdXNpbmVzc1JlbW90ZVJlZmVyZW5jZS5qYXZhOjM2
KQ0KCWF0IG9yZy5hcGFjaGUub3BlbmVqYi5jb3JlLml2bS5uYW1pbmcuSXZtQ29udGV4dC5s
b29rdXAoSXZtQ29udGV4dC5qYXZhOjE4NikNCglhdCBvcmcuYXBhY2hlLm9wZW5lamIuc2Vy
dmVyLmVqYmQuSm5kaVJlcXVlc3RIYW5kbGVyLmRvTG9va3VwKEpuZGlSZXF1ZXN0SGFuZGxl
ci5qYXZhOjI2MSkNCglhdCBvcmcuYXBhY2hlLm9wZW5lamIuc2VydmVyLmVqYmQuSm5kaVJl
cXVlc3RIYW5kbGVyLnByb2Nlc3NSZXNwb25zZShKbmRpUmVxdWVzdEhhbmRsZXIuamF2YTox
NzQpDQoJYXQgb3JnLmFwYWNoZS5vcGVuZWpiLnNlcnZlci5lamJkLkVqYkRhZW1vbi5wcm9j
ZXNzSm5kaVJlc3BvbnNlKEVqYkRhZW1vbi5qYXZhOjM4MCkNCglhdCBvcmcuYXBhY2hlLm9w
ZW5lamIuc2VydmVyLmVqYmQuRWpiRGFlbW9uLnNlcnZpY2UoRWpiRGFlbW9uLmphdmE6Mjgy
KQ0KCWF0IG9yZy5hcGFjaGUub3BlbmVqYi5zZXJ2ZXIuZWpiZC5FamJTZXJ2ZXIuc2Vydmlj
ZShFamJTZXJ2ZXIuamF2YToxMDQpDQoJYXQgb3JnLmFwYWNoZS5vcGVuZWpiLnNlcnZlci5o
dHRwZC5TZXJ2ZXJTZXJ2bGV0LnNlcnZpY2UoU2VydmVyU2VydmxldC5qYXZhOjYwKQ0KCWF0
IGpha2FydGEuc2VydmxldC5odHRwLkh0dHBTZXJ2bGV0LnNlcnZpY2UoSHR0cFNlcnZsZXQu
amF2YTo2NTgpDQoJYXQgb3JnLmFwYWNoZS5jYXRhbGluYS5jb3JlLkFwcGxpY2F0aW9uRmls
dGVyQ2hhaW4uaW50ZXJuYWxEb0ZpbHRlcihBcHBsaWNhdGlvbkZpbHRlckNoYWluLmphdmE6
MTk1KQ0KCWF0IG9yZy5hcGFjaGUuY2F0YWxpbmEuY29yZS5BcHBsaWNhdGlvbkZpbHRlckNo
YWluLmRvRmlsdGVyKEFwcGxpY2F0aW9uRmlsdGVyQ2hhaW4uamF2YToxNDApDQoJYXQgb3Jn
LmFwYWNoZS5jYXRhbGluYS5jb3JlLlN0YW5kYXJkV3JhcHBlclZhbHZlLmludm9rZShTdGFu
ZGFyZFdyYXBwZXJWYWx2ZS5qYXZhOjE2NykNCglhdCBvcmcuYXBhY2hlLmNhdGFsaW5hLmNv
cmUuU3RhbmRhcmRDb250ZXh0VmFsdmUuaW52b2tlKFN0YW5kYXJkQ29udGV4dFZhbHZlLmph
dmE6OTApDQoJYXQgb3JnLmFwYWNoZS50b21lZS5jYXRhbGluYS5PcGVuRUpCVmFsdmUuaW52
b2tlKE9wZW5FSkJWYWx2ZS5qYXZhOjQ1KQ0KCWF0IG9yZy5hcGFjaGUuY2F0YWxpbmEuY29y
ZS5TdGFuZGFyZEhvc3RWYWx2ZS5pbnZva2UoU3RhbmRhcmRIb3N0VmFsdmUuamF2YToxMTYp
DQoJYXQgb3JnLmFwYWNoZS5jYXRhbGluYS52YWx2ZXMuRXJyb3JSZXBvcnRWYWx2ZS5pbnZv
a2UoRXJyb3JSZXBvcnRWYWx2ZS5qYXZhOjkzKQ0KCWF0IG9yZy5hcGFjaGUudG9tZWUuY2F0
YWxpbmEuT3BlbkVKQlNlY3VyaXR5TGlzdGVuZXIkUmVxdWVzdENhcHR1cmVyLmludm9rZShP
cGVuRUpCU2VjdXJpdHlMaXN0ZW5lci5qYXZhOjk3KQ0KCWF0IG9yZy5hcGFjaGUuY2F0YWxp
bmEudmFsdmVzLkFic3RyYWN0QWNjZXNzTG9nVmFsdmUuaW52b2tlKEFic3RyYWN0QWNjZXNz
TG9nVmFsdmUuamF2YTo2NjYpDQoJYXQgb3JnLmFwYWNoZS5jYXRhbGluYS5jb3JlLlN0YW5k
YXJkRW5naW5lVmFsdmUuaW52b2tlKFN0YW5kYXJkRW5naW5lVmFsdmUuamF2YTo3NCkNCglh
dCBvcmcuYXBhY2hlLmNhdGFsaW5hLmNvbm5lY3Rvci5Db3lvdGVBZGFwdGVyLnNlcnZpY2Uo
Q295b3RlQWRhcHRlci5qYXZhOjM0NCkNCglhdCBvcmcuYXBhY2hlLmNveW90ZS5odHRwMTEu
SHR0cDExUHJvY2Vzc29yLnNlcnZpY2UoSHR0cDExUHJvY2Vzc29yLmphdmE6Mzk4KQ0KCWF0
IG9yZy5hcGFjaGUuY295b3RlLkFic3RyYWN0UHJvY2Vzc29yTGlnaHQucHJvY2VzcyhBYnN0
cmFjdFByb2Nlc3NvckxpZ2h0LmphdmE6NjMpDQoJYXQgb3JnLmFwYWNoZS5jb3lvdGUuQWJz
dHJhY3RQcm90b2NvbCRDb25uZWN0aW9uSGFuZGxlci5wcm9jZXNzKEFic3RyYWN0UHJvdG9j
b2wuamF2YTo5MDMpDQoJYXQgb3JnLmFwYWNoZS50b21jYXQudXRpbC5uZXQuTmlvRW5kcG9p
bnQkU29ja2V0UHJvY2Vzc29yLmRvUnVuKE5pb0VuZHBvaW50LmphdmE6MTc2OSkNCglhdCBv
cmcuYXBhY2hlLnRvbWNhdC51dGlsLm5ldC5Tb2NrZXRQcm9jZXNzb3JCYXNlLnJ1bihTb2Nr
ZXRQcm9jZXNzb3JCYXNlLmphdmE6NTIpDQoJYXQgb3JnLmFwYWNoZS50b21jYXQudXRpbC50
aHJlYWRzLlRocmVhZFBvb2xFeGVjdXRvci5ydW5Xb3JrZXIoVGhyZWFkUG9vbEV4ZWN1dG9y
LmphdmE6MTE4OSkNCglhdCBvcmcuYXBhY2hlLnRvbWNhdC51dGlsLnRocmVhZHMuVGhyZWFk
UG9vbEV4ZWN1dG9yJFdvcmtlci5ydW4oVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6NjU4KQ0K
CWF0IG9yZy5hcGFjaGUudG9tY2F0LnV0aWwudGhyZWFkcy5UYXNrVGhyZWFkJFdyYXBwaW5n
UnVubmFibGUucnVuKFRhc2tUaHJlYWQuamF2YTo2MykNCglhdCBqYXZhLmJhc2UvamF2YS5s
YW5nLlRocmVhZC5ydW4oVGhyZWFkLmphdmE6MTQ0NykNCkNhdXNlZCBieTogamF2YS5sYW5n
LklsbGVnYWxBcmd1bWVudEV4Y2VwdGlvbjogY2FuJ3QgcGFyc2UgYXJndW1lbnQgbnVtYmVy
OiANCglhdCBqYXZhLmJhc2UvamF2YS50ZXh0Lk1lc3NhZ2VGb3JtYXQuc2V0Rm9ybWF0RnJv
bVBhdHRlcm4oTWVzc2FnZUZvcm1hdC5qYXZhOjE2NDQpDQoJYXQgamF2YS5iYXNlL2phdmEu
dGV4dC5NZXNzYWdlRm9ybWF0LmFwcGx5UGF0dGVybkltcGwoTWVzc2FnZUZvcm1hdC5qYXZh
OjY2MCkNCglhdCBqYXZhLmJhc2UvamF2YS50ZXh0Lk1lc3NhZ2VGb3JtYXQuPGluaXQ+KE1l
c3NhZ2VGb3JtYXQuamF2YTo1MTYpDQoJYXQgb3JnLmFwYWNoZS5vcGVuZWpiLnV0aWwuTWVt
b2l6ZXIkMS5jYWxsKE1lbW9pemVyLmphdmE6NTIpDQoJYXQgamF2YS5iYXNlL2phdmEudXRp
bC5jb25jdXJyZW50LkZ1dHVyZVRhc2sucnVuKEZ1dHVyZVRhc2suamF2YTozMjgpDQoJYXQg
b3JnLmFwYWNoZS5vcGVuZWpiLnV0aWwuTWVtb2l6ZXIuY29tcHV0ZShNZW1vaXplci5qYXZh
OjU5KQ0KCS4uLiAzNyBtb3JlDQpDYXVzZWQgYnk6IGphdmEubGFuZy5OdW1iZXJGb3JtYXRF
eGNlcHRpb246IEZvciBpbnB1dCBzdHJpbmc6ICIiDQoJYXQgamF2YS5iYXNlL2phdmEubGFu
Zy5OdW1iZXJGb3JtYXRFeGNlcHRpb24uZm9ySW5wdXRTdHJpbmcoTnVtYmVyRm9ybWF0RXhj
ZXB0aW9uLmphdmE6NjcpDQoJYXQgamF2YS5iYXNlL2phdmEubGFuZy5JbnRlZ2VyLnBhcnNl
SW50KEludGVnZXIuamF2YTo1NDEpDQoJYXQgamF2YS5iYXNlL2phdmEubGFuZy5JbnRlZ2Vy
LnBhcnNlSW50KEludGVnZXIuamF2YTo2NjEpDQoJYXQgamF2YS5iYXNlL2phdmEudGV4dC5N
ZXNzYWdlRm9ybWF0LnNldEZvcm1hdEZyb21QYXR0ZXJuKE1lc3NhZ2VGb3JtYXQuamF2YTox
NjQyKQ0KCS4uLiA0MiBtb3JlDQpqYXZhLnV0aWwuY29uY3VycmVudC5FeGVjdXRpb25FeGNl
cHRpb246IGphdmEubGFuZy5JbGxlZ2FsQXJndW1lbnRFeGNlcHRpb246IGNhbid0IHBhcnNl
IGFyZ3VtZW50IG51bWJlcjogDQoJYXQgamF2YS5iYXNlL2phdmEudXRpbC5jb25jdXJyZW50
LkZ1dHVyZVRhc2sucmVwb3J0KEZ1dHVyZVRhc2suamF2YToxMjQpDQoJYXQgamF2YS5iYXNl
L2phdmEudXRpbC5jb25jdXJyZW50LkZ1dHVyZVRhc2suZ2V0KEZ1dHVyZVRhc2suamF2YTox
OTMpDQoJYXQgb3JnLmFwYWNoZS5vcGVuZWpiLnV0aWwuTWVtb2l6ZXIuY29tcHV0ZShNZW1v
aXplci5qYXZhOjYzKQ0KCWF0IG9yZy5hcGFjaGUub3BlbmVqYi51dGlsLkxvZ2dlci5mb3Jt
YXRNZXNzYWdlKExvZ2dlci5qYXZhOjM5OCkNCglhdCBvcmcuYXBhY2hlLm9wZW5lamIudXRp
bC5Mb2dnZXIud2FybmluZyhMb2dnZXIuamF2YTo2NDMpDQoJYXQgb3JnLmFwYWNoZS5vcGVu
ZWpiLmNvcmUuc2VjdXJpdHkuQWJzdHJhY3RTZWN1cml0eVNlcnZpY2UuaXNDYWxsZXJBdXRo
b3JpemVkKEFic3RyYWN0U2VjdXJpdHlTZXJ2aWNlLmphdmE6Mzk4KQ0KCWF0IG9yZy5hcGFj
aGUub3BlbmVqYi5jb3JlLnNpbmdsZXRvbi5TaW5nbGV0b25Db250YWluZXIuaW52b2tlKFNp
bmdsZXRvbkNvbnRhaW5lci5qYXZhOjE5MikNCglhdCBvcmcuYXBhY2hlLm9wZW5lamIuY29y
ZS5pdm0uRWpiSG9tZVByb3h5SGFuZGxlci5jcmVhdGUoRWpiSG9tZVByb3h5SGFuZGxlci5q
YXZhOjM0MykNCglhdCBvcmcuYXBhY2hlLm9wZW5lamIuY29yZS5pdm0uRWpiSG9tZVByb3h5
SGFuZGxlci5faW52b2tlKEVqYkhvbWVQcm94eUhhbmRsZXIuamF2YToxOTYpDQoJYXQgb3Jn
LmFwYWNoZS5vcGVuZWpiLmNvcmUuaXZtLkJhc2VFamJQcm94eUhhbmRsZXIuaW52b2tlKEJh
c2VFamJQcm94eUhhbmRsZXIuamF2YTozNDkpDQoJYXQgamRrLnByb3h5My9qZGsucHJveHkz
LiRQcm94eTMwLmNyZWF0ZShVbmtub3duIFNvdXJjZSkNCglhdCBvcmcuYXBhY2hlLm9wZW5l
amIuY29yZS5pdm0ubmFtaW5nLkJ1c2luZXNzUmVtb3RlUmVmZXJlbmNlLmdldE9iamVjdChC
dXNpbmVzc1JlbW90ZVJlZmVyZW5jZS5qYXZhOjM2KQ0KCWF0IG9yZy5hcGFjaGUub3BlbmVq
Yi5jb3JlLml2bS5uYW1pbmcuSXZtQ29udGV4dC5sb29rdXAoSXZtQ29udGV4dC5qYXZhOjE4
NikNCglhdCBvcmcuYXBhY2hlLm9wZW5lamIuc2VydmVyLmVqYmQuSm5kaVJlcXVlc3RIYW5k
bGVyLmRvTG9va3VwKEpuZGlSZXF1ZXN0SGFuZGxlci5qYXZhOjI2MSkNCglhdCBvcmcuYXBh
Y2hlLm9wZW5lamIuc2VydmVyLmVqYmQuSm5kaVJlcXVlc3RIYW5kbGVyLnByb2Nlc3NSZXNw
b25zZShKbmRpUmVxdWVzdEhhbmRsZXIuamF2YToxNzQpDQoJYXQgb3JnLmFwYWNoZS5vcGVu
ZWpiLnNlcnZlci5lamJkLkVqYkRhZW1vbi5wcm9jZXNzSm5kaVJlc3BvbnNlKEVqYkRhZW1v
bi5qYXZhOjM4MCkNCglhdCBvcmcuYXBhY2hlLm9wZW5lamIuc2VydmVyLmVqYmQuRWpiRGFl
bW9uLnNlcnZpY2UoRWpiRGFlbW9uLmphdmE6MjgyKQ0KCWF0IG9yZy5hcGFjaGUub3BlbmVq
Yi5zZXJ2ZXIuZWpiZC5FamJTZXJ2ZXIuc2VydmljZShFamJTZXJ2ZXIuamF2YToxMDQpDQoJ
YXQgb3JnLmFwYWNoZS5vcGVuZWpiLnNlcnZlci5odHRwZC5TZXJ2ZXJTZXJ2bGV0LnNlcnZp
Y2UoU2VydmVyU2VydmxldC5qYXZhOjYwKQ0KCWF0IGpha2FydGEuc2VydmxldC5odHRwLkh0
dHBTZXJ2bGV0LnNlcnZpY2UoSHR0cFNlcnZsZXQuamF2YTo2NTgpDQoJYXQgb3JnLmFwYWNo
ZS5jYXRhbGluYS5jb3JlLkFwcGxpY2F0aW9uRmlsdGVyQ2hhaW4uaW50ZXJuYWxEb0ZpbHRl
cihBcHBsaWNhdGlvbkZpbHRlckNoYWluLmphdmE6MTk1KQ0KCWF0IG9yZy5hcGFjaGUuY2F0
YWxpbmEuY29yZS5BcHBsaWNhdGlvbkZpbHRlckNoYWluLmRvRmlsdGVyKEFwcGxpY2F0aW9u
RmlsdGVyQ2hhaW4uamF2YToxNDApDQoJYXQgb3JnLmFwYWNoZS5jYXRhbGluYS5jb3JlLlN0
YW5kYXJkV3JhcHBlclZhbHZlLmludm9rZShTdGFuZGFyZFdyYXBwZXJWYWx2ZS5qYXZhOjE2
NykNCglhdCBvcmcuYXBhY2hlLmNhdGFsaW5hLmNvcmUuU3RhbmRhcmRDb250ZXh0VmFsdmUu
aW52b2tlKFN0YW5kYXJkQ29udGV4dFZhbHZlLmphdmE6OTApDQoJYXQgb3JnLmFwYWNoZS50
b21lZS5jYXRhbGluYS5PcGVuRUpCVmFsdmUuaW52b2tlKE9wZW5FSkJWYWx2ZS5qYXZhOjQ1
KQ0KCWF0IG9yZy5hcGFjaGUuY2F0YWxpbmEuY29yZS5TdGFuZGFyZEhvc3RWYWx2ZS5pbnZv
a2UoU3RhbmRhcmRIb3N0VmFsdmUuamF2YToxMTYpDQoJYXQgb3JnLmFwYWNoZS5jYXRhbGlu
YS52YWx2ZXMuRXJyb3JSZXBvcnRWYWx2ZS5pbnZva2UoRXJyb3JSZXBvcnRWYWx2ZS5qYXZh
OjkzKQ0KCWF0IG9yZy5hcGFjaGUudG9tZWUuY2F0YWxpbmEuT3BlbkVKQlNlY3VyaXR5TGlz
dGVuZXIkUmVxdWVzdENhcHR1cmVyLmludm9rZShPcGVuRUpCU2VjdXJpdHlMaXN0ZW5lci5q
YXZhOjk3KQ0KCWF0IG9yZy5hcGFjaGUuY2F0YWxpbmEudmFsdmVzLkFic3RyYWN0QWNjZXNz
TG9nVmFsdmUuaW52b2tlKEFic3RyYWN0QWNjZXNzTG9nVmFsdmUuamF2YTo2NjYpDQoJYXQg
b3JnLmFwYWNoZS5jYXRhbGluYS5jb3JlLlN0YW5kYXJkRW5naW5lVmFsdmUuaW52b2tlKFN0
YW5kYXJkRW5naW5lVmFsdmUuamF2YTo3NCkNCglhdCBvcmcuYXBhY2hlLmNhdGFsaW5hLmNv
bm5lY3Rvci5Db3lvdGVBZGFwdGVyLnNlcnZpY2UoQ295b3RlQWRhcHRlci5qYXZhOjM0NCkN
CglhdCBvcmcuYXBhY2hlLmNveW90ZS5odHRwMTEuSHR0cDExUHJvY2Vzc29yLnNlcnZpY2Uo
SHR0cDExUHJvY2Vzc29yLmphdmE6Mzk4KQ0KCWF0IG9yZy5hcGFjaGUuY295b3RlLkFic3Ry
YWN0UHJvY2Vzc29yTGlnaHQucHJvY2VzcyhBYnN0cmFjdFByb2Nlc3NvckxpZ2h0LmphdmE6
NjMpDQoJYXQgb3JnLmFwYWNoZS5jb3lvdGUuQWJzdHJhY3RQcm90b2NvbCRDb25uZWN0aW9u
SGFuZGxlci5wcm9jZXNzKEFic3RyYWN0UHJvdG9jb2wuamF2YTo5MDMpDQoJYXQgb3JnLmFw
YWNoZS50b21jYXQudXRpbC5uZXQuTmlvRW5kcG9pbnQkU29ja2V0UHJvY2Vzc29yLmRvUnVu
KE5pb0VuZHBvaW50LmphdmE6MTc2OSkNCglhdCBvcmcuYXBhY2hlLnRvbWNhdC51dGlsLm5l
dC5Tb2NrZXRQcm9jZXNzb3JCYXNlLnJ1bihTb2NrZXRQcm9jZXNzb3JCYXNlLmphdmE6NTIp
DQoJYXQgb3JnLmFwYWNoZS50b21jYXQudXRpbC50aHJlYWRzLlRocmVhZFBvb2xFeGVjdXRv
ci5ydW5Xb3JrZXIoVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6MTE4OSkNCglhdCBvcmcuYXBh
Y2hlLnRvbWNhdC51dGlsLnRocmVhZHMuVGhyZWFkUG9vbEV4ZWN1dG9yJFdvcmtlci5ydW4o
VGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6NjU4KQ0KCWF0IG9yZy5hcGFjaGUudG9tY2F0LnV0
aWwudGhyZWFkcy5UYXNrVGhyZWFkJFdyYXBwaW5nUnVubmFibGUucnVuKFRhc2tUaHJlYWQu
amF2YTo2MykNCglhdCBqYXZhLmJhc2UvamF2YS5sYW5nLlRocmVhZC5ydW4oVGhyZWFkLmph
dmE6MTQ0NykNCkNhdXNlZCBieTogamF2YS5sYW5nLklsbGVnYWxBcmd1bWVudEV4Y2VwdGlv
bjogY2FuJ3QgcGFyc2UgYXJndW1lbnQgbnVtYmVyOiANCglhdCBqYXZhLmJhc2UvamF2YS50
ZXh0Lk1lc3NhZ2VGb3JtYXQuc2V0Rm9ybWF0RnJvbVBhdHRlcm4oTWVzc2FnZUZvcm1hdC5q
YXZhOjE2NDQpDQoJYXQgamF2YS5iYXNlL2phdmEudGV4dC5NZXNzYWdlRm9ybWF0LmFwcGx5
UGF0dGVybkltcGwoTWVzc2FnZUZvcm1hdC5qYXZhOjY2MCkNCglhdCBqYXZhLmJhc2UvamF2
YS50ZXh0Lk1lc3NhZ2VGb3JtYXQuPGluaXQ+KE1lc3NhZ2VGb3JtYXQuamF2YTo1MTYpDQoJ
YXQgb3JnLmFwYWNoZS5vcGVuZWpiLnV0aWwuTWVtb2l6ZXIkMS5jYWxsKE1lbW9pemVyLmph
dmE6NTIpDQoJYXQgamF2YS5iYXNlL2phdmEudXRpbC5jb25jdXJyZW50LkZ1dHVyZVRhc2su
cnVuKEZ1dHVyZVRhc2suamF2YTozMjgpDQoJYXQgb3JnLmFwYWNoZS5vcGVuZWpiLnV0aWwu
TWVtb2l6ZXIuY29tcHV0ZShNZW1vaXplci5qYXZhOjU5KQ0KCS4uLiAzNyBtb3JlDQpDYXVz
ZWQgYnk6IGphdmEubGFuZy5OdW1iZXJGb3JtYXRFeGNlcHRpb246IEZvciBpbnB1dCBzdHJp
bmc6ICIiDQoJYXQgamF2YS5iYXNlL2phdmEubGFuZy5OdW1iZXJGb3JtYXRFeGNlcHRpb24u
Zm9ySW5wdXRTdHJpbmcoTnVtYmVyRm9ybWF0RXhjZXB0aW9uLmphdmE6NjcpDQoJYXQgamF2
YS5iYXNlL2phdmEubGFuZy5JbnRlZ2VyLnBhcnNlSW50KEludGVnZXIuamF2YTo1NDEpDQoJ
YXQgamF2YS5iYXNlL2phdmEubGFuZy5JbnRlZ2VyLnBhcnNlSW50KEludGVnZXIuamF2YTo2
NjEpDQoJYXQgamF2YS5iYXNlL2phdmEudGV4dC5NZXNzYWdlRm9ybWF0LnNldEZvcm1hdEZy
b21QYXR0ZXJuKE1lc3NhZ2VGb3JtYXQuamF2YToxNjQyKQ0KCS4uLiA0MiBtb3JlDQpqYXZh
LnV0aWwuY29uY3VycmVudC5FeGVjdXRpb25FeGNlcHRpb246IGphdmEubGFuZy5JbGxlZ2Fs
QXJndW1lbnRFeGNlcHRpb246IGNhbid0IHBhcnNlIGFyZ3VtZW50IG51bWJlcjogDQoJYXQg
amF2YS5iYXNlL2phdmEudXRpbC5jb25jdXJyZW50LkZ1dHVyZVRhc2sucmVwb3J0KEZ1dHVy
ZVRhc2suamF2YToxMjQpDQoJYXQgamF2YS5iYXNlL2phdmEudXRpbC5jb25jdXJyZW50LkZ1
dHVyZVRhc2suZ2V0KEZ1dHVyZVRhc2suamF2YToxOTMpDQoJYXQgb3JnLmFwYWNoZS5vcGVu
ZWpiLnV0aWwuTWVtb2l6ZXIuY29tcHV0ZShNZW1vaXplci5qYXZhOjYzKQ0KCWF0IG9yZy5h
cGFjaGUub3BlbmVqYi51dGlsLkxvZ2dlci5mb3JtYXRNZXNzYWdlKExvZ2dlci5qYXZhOjM5
OCkNCglhdCBvcmcuYXBhY2hlLm9wZW5lamIudXRpbC5Mb2dnZXIud2FybmluZyhMb2dnZXIu
amF2YTo2NDMpDQoJYXQgb3JnLmFwYWNoZS5vcGVuZWpiLmNvcmUuc2VjdXJpdHkuQWJzdHJh
Y3RTZWN1cml0eVNlcnZpY2UuaXNDYWxsZXJBdXRob3JpemVkKEFic3RyYWN0U2VjdXJpdHlT
ZXJ2aWNlLmphdmE6Mzk4KQ0KCWF0IG9yZy5hcGFjaGUub3BlbmVqYi5jb3JlLnNpbmdsZXRv
bi5TaW5nbGV0b25Db250YWluZXIuaW52b2tlKFNpbmdsZXRvbkNvbnRhaW5lci5qYXZhOjE5
MikNCglhdCBvcmcuYXBhY2hlLm9wZW5lamIuY29yZS5pdm0uRWpiSG9tZVByb3h5SGFuZGxl
ci5jcmVhdGUoRWpiSG9tZVByb3h5SGFuZGxlci5qYXZhOjM0MykNCglhdCBvcmcuYXBhY2hl
Lm9wZW5lamIuY29yZS5pdm0uRWpiSG9tZVByb3h5SGFuZGxlci5faW52b2tlKEVqYkhvbWVQ
cm94eUhhbmRsZXIuamF2YToxOTYpDQoJYXQgb3JnLmFwYWNoZS5vcGVuZWpiLmNvcmUuaXZt
LkJhc2VFamJQcm94eUhhbmRsZXIuaW52b2tlKEJhc2VFamJQcm94eUhhbmRsZXIuamF2YToz
NDkpDQoJYXQgamRrLnByb3h5My9qZGsucHJveHkzLiRQcm94eTMwLmNyZWF0ZShVbmtub3du
IFNvdXJjZSkNCglhdCBvcmcuYXBhY2hlLm9wZW5lamIuY29yZS5pdm0ubmFtaW5nLkJ1c2lu
ZXNzUmVtb3RlUmVmZXJlbmNlLmdldE9iamVjdChCdXNpbmVzc1JlbW90ZVJlZmVyZW5jZS5q
YXZhOjM2KQ0KCWF0IG9yZy5hcGFjaGUub3BlbmVqYi5jb3JlLml2bS5uYW1pbmcuSXZtQ29u
dGV4dC5sb29rdXAoSXZtQ29udGV4dC5qYXZhOjE4NikNCglhdCBvcmcuYXBhY2hlLm9wZW5l
amIuc2VydmVyLmVqYmQuSm5kaVJlcXVlc3RIYW5kbGVyLmRvTG9va3VwKEpuZGlSZXF1ZXN0
SGFuZGxlci5qYXZhOjI2MSkNCglhdCBvcmcuYXBhY2hlLm9wZW5lamIuc2VydmVyLmVqYmQu
Sm5kaVJlcXVlc3RIYW5kbGVyLnByb2Nlc3NSZXNwb25zZShKbmRpUmVxdWVzdEhhbmRsZXIu
amF2YToxNzQpDQoJYXQgb3JnLmFwYWNoZS5vcGVuZWpiLnNlcnZlci5lamJkLkVqYkRhZW1v
bi5wcm9jZXNzSm5kaVJlc3BvbnNlKEVqYkRhZW1vbi5qYXZhOjM4MCkNCglhdCBvcmcuYXBh
Y2hlLm9wZW5lamIuc2VydmVyLmVqYmQuRWpiRGFlbW9uLnNlcnZpY2UoRWpiRGFlbW9uLmph
dmE6MjgyKQ0KCWF0IG9yZy5hcGFjaGUub3BlbmVqYi5zZXJ2ZXIuZWpiZC5FamJTZXJ2ZXIu
c2VydmljZShFamJTZXJ2ZXIuamF2YToxMDQpDQoJYXQgb3JnLmFwYWNoZS5vcGVuZWpiLnNl
cnZlci5odHRwZC5TZXJ2ZXJTZXJ2bGV0LnNlcnZpY2UoU2VydmVyU2VydmxldC5qYXZhOjYw
KQ0KCWF0IGpha2FydGEuc2VydmxldC5odHRwLkh0dHBTZXJ2bGV0LnNlcnZpY2UoSHR0cFNl
cnZsZXQuamF2YTo2NTgpDQoJYXQgb3JnLmFwYWNoZS5jYXRhbGluYS5jb3JlLkFwcGxpY2F0
aW9uRmlsdGVyQ2hhaW4uaW50ZXJuYWxEb0ZpbHRlcihBcHBsaWNhdGlvbkZpbHRlckNoYWlu
LmphdmE6MTk1KQ0KCWF0IG9yZy5hcGFjaGUuY2F0YWxpbmEuY29yZS5BcHBsaWNhdGlvbkZp
bHRlckNoYWluLmRvRmlsdGVyKEFwcGxpY2F0aW9uRmlsdGVyQ2hhaW4uamF2YToxNDApDQoJ
YXQgb3JnLmFwYWNoZS5jYXRhbGluYS5jb3JlLlN0YW5kYXJkV3JhcHBlclZhbHZlLmludm9r
ZShTdGFuZGFyZFdyYXBwZXJWYWx2ZS5qYXZhOjE2NykNCglhdCBvcmcuYXBhY2hlLmNhdGFs
aW5hLmNvcmUuU3RhbmRhcmRDb250ZXh0VmFsdmUuaW52b2tlKFN0YW5kYXJkQ29udGV4dFZh
bHZlLmphdmE6OTApDQoJYXQgb3JnLmFwYWNoZS50b21lZS5jYXRhbGluYS5PcGVuRUpCVmFs
dmUuaW52b2tlKE9wZW5FSkJWYWx2ZS5qYXZhOjQ1KQ0KCWF0IG9yZy5hcGFjaGUuY2F0YWxp
bmEuY29yZS5TdGFuZGFyZEhvc3RWYWx2ZS5pbnZva2UoU3RhbmRhcmRIb3N0VmFsdmUuamF2
YToxMTYpDQoJYXQgb3JnLmFwYWNoZS5jYXRhbGluYS52YWx2ZXMuRXJyb3JSZXBvcnRWYWx2
ZS5pbnZva2UoRXJyb3JSZXBvcnRWYWx2ZS5qYXZhOjkzKQ0KCWF0IG9yZy5hcGFjaGUudG9t
ZWUuY2F0YWxpbmEuT3BlbkVKQlNlY3VyaXR5TGlzdGVuZXIkUmVxdWVzdENhcHR1cmVyLmlu
dm9rZShPcGVuRUpCU2VjdXJpdHlMaXN0ZW5lci5qYXZhOjk3KQ0KCWF0IG9yZy5hcGFjaGUu
Y2F0YWxpbmEudmFsdmVzLkFic3RyYWN0QWNjZXNzTG9nVmFsdmUuaW52b2tlKEFic3RyYWN0
QWNjZXNzTG9nVmFsdmUuamF2YTo2NjYpDQoJYXQgb3JnLmFwYWNoZS5jYXRhbGluYS5jb3Jl
LlN0YW5kYXJkRW5naW5lVmFsdmUuaW52b2tlKFN0YW5kYXJkRW5naW5lVmFsdmUuamF2YTo3
NCkNCglhdCBvcmcuYXBhY2hlLmNhdGFsaW5hLmNvbm5lY3Rvci5Db3lvdGVBZGFwdGVyLnNl
cnZpY2UoQ295b3RlQWRhcHRlci5qYXZhOjM0NCkNCglhdCBvcmcuYXBhY2hlLmNveW90ZS5o
dHRwMTEuSHR0cDExUHJvY2Vzc29yLnNlcnZpY2UoSHR0cDExUHJvY2Vzc29yLmphdmE6Mzk4
KQ0KCWF0IG9yZy5hcGFjaGUuY295b3RlLkFic3RyYWN0UHJvY2Vzc29yTGlnaHQucHJvY2Vz
cyhBYnN0cmFjdFByb2Nlc3NvckxpZ2h0LmphdmE6NjMpDQoJYXQgb3JnLmFwYWNoZS5jb3lv
dGUuQWJzdHJhY3RQcm90b2NvbCRDb25uZWN0aW9uSGFuZGxlci5wcm9jZXNzKEFic3RyYWN0
UHJvdG9jb2wuamF2YTo5MDMpDQoJYXQgb3JnLmFwYWNoZS50b21jYXQudXRpbC5uZXQuTmlv
RW5kcG9pbnQkU29ja2V0UHJvY2Vzc29yLmRvUnVuKE5pb0VuZHBvaW50LmphdmE6MTc2OSkN
CglhdCBvcmcuYXBhY2hlLnRvbWNhdC51dGlsLm5ldC5Tb2NrZXRQcm9jZXNzb3JCYXNlLnJ1
bihTb2NrZXRQcm9jZXNzb3JCYXNlLmphdmE6NTIpDQoJYXQgb3JnLmFwYWNoZS50b21jYXQu
dXRpbC50aHJlYWRzLlRocmVhZFBvb2xFeGVjdXRvci5ydW5Xb3JrZXIoVGhyZWFkUG9vbEV4
ZWN1dG9yLmphdmE6MTE4OSkNCglhdCBvcmcuYXBhY2hlLnRvbWNhdC51dGlsLnRocmVhZHMu
VGhyZWFkUG9vbEV4ZWN1dG9yJFdvcmtlci5ydW4oVGhyZWFkUG9vbEV4ZWN1dG9yLmphdmE6
NjU4KQ0KCWF0IG9yZy5hcGFjaGUudG9tY2F0LnV0aWwudGhyZWFkcy5UYXNrVGhyZWFkJFdy
YXBwaW5nUnVubmFibGUucnVuKFRhc2tUaHJlYWQuamF2YTo2MykNCglhdCBqYXZhLmJhc2Uv
amF2YS5sYW5nLlRocmVhZC5ydW4oVGhyZWFkLmphdmE6MTQ0NykNCkNhdXNlZCBieTogamF2
YS5sYW5nLklsbGVnYWxBcmd1bWVudEV4Y2VwdGlvbjogY2FuJ3QgcGFyc2UgYXJndW1lbnQg
bnVtYmVyOiANCglhdCBqYXZhLmJhc2UvamF2YS50ZXh0Lk1lc3NhZ2VGb3JtYXQuc2V0Rm9y
bWF0RnJvbVBhdHRlcm4oTWVzc2FnZUZvcm1hdC5qYXZhOjE2NDQpDQoJYXQgamF2YS5iYXNl
L2phdmEudGV4dC5NZXNzYWdlRm9ybWF0LmFwcGx5UGF0dGVybkltcGwoTWVzc2FnZUZvcm1h
dC5qYXZhOjY2MCkNCglhdCBqYXZhLmJhc2UvamF2YS50ZXh0Lk1lc3NhZ2VGb3JtYXQuPGlu
aXQ+KE1lc3NhZ2VGb3JtYXQuamF2YTo1MTYpDQoJYXQgb3JnLmFwYWNoZS5vcGVuZWpiLnV0
aWwuTWVtb2l6ZXIkMS5jYWxsKE1lbW9pemVyLmphdmE6NTIpDQoJYXQgamF2YS5iYXNlL2ph
dmEudXRpbC5jb25jdXJyZW50LkZ1dHVyZVRhc2sucnVuKEZ1dHVyZVRhc2suamF2YTozMjgp
DQoJYXQgb3JnLmFwYWNoZS5vcGVuZWpiLnV0aWwuTWVtb2l6ZXIuY29tcHV0ZShNZW1vaXpl
ci5qYXZhOjU5KQ0KCS4uLiAzNyBtb3JlDQpDYXVzZWQgYnk6IGphdmEubGFuZy5OdW1iZXJG
b3JtYXRFeGNlcHRpb246IEZvciBpbnB1dCBzdHJpbmc6ICIiDQoJYXQgamF2YS5iYXNlL2ph
dmEubGFuZy5OdW1iZXJGb3JtYXRFeGNlcHRpb24uZm9ySW5wdXRTdHJpbmcoTnVtYmVyRm9y
bWF0RXhjZXB0aW9uLmphdmE6NjcpDQoJYXQgamF2YS5iYXNlL2phdmEubGFuZy5JbnRlZ2Vy
LnBhcnNlSW50KEludGVnZXIuamF2YTo1NDEpDQoJYXQgamF2YS5iYXNlL2phdmEubGFuZy5J
bnRlZ2VyLnBhcnNlSW50KEludGVnZXIuamF2YTo2NjEpDQoJYXQgamF2YS5iYXNlL2phdmEu
dGV4dC5NZXNzYWdlRm9ybWF0LnNldEZvcm1hdEZyb21QYXR0ZXJuKE1lc3NhZ2VGb3JtYXQu
amF2YToxNjQyKQ0KCS4uLiA0MiBtb3JlDQo=

--------------94TnT81bAeMoOZw2JAMmWM2d--