You can subscribe to this list here.
2003 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(1) |
Nov
|
Dec
|
---|---|---|---|---|---|---|---|---|---|---|---|---|
2004 |
Jan
|
Feb
|
Mar
(5) |
Apr
|
May
(2) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(4) |
Dec
|
2005 |
Jan
(19) |
Feb
(5) |
Mar
|
Apr
|
May
|
Jun
(3) |
Jul
(19) |
Aug
(4) |
Sep
|
Oct
(1) |
Nov
(5) |
Dec
|
2011 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(1) |
Jun
|
Jul
|
Aug
(4) |
Sep
(2) |
Oct
|
Nov
|
Dec
|
2012 |
Jan
|
Feb
|
Mar
(4) |
Apr
|
May
(1) |
Jun
|
Jul
(1) |
Aug
(1) |
Sep
|
Oct
|
Nov
|
Dec
(1) |
2013 |
Jan
|
Feb
|
Mar
(2) |
Apr
(3) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2014 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(2) |
Jun
(1) |
Jul
(1) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2016 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(1) |
Sep
|
Oct
|
Nov
|
Dec
|
2017 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(1) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Thomas F. <tfo...@us...> - 2005-01-27 15:01:30
|
On Thu, 2005-01-27 at 12:23 +0100, seb...@ph... wrote: > Building the jar with JDK 1.4.2 has solved the version issue. > However the original problem is not solved. I tried with mysql on my machine, and it seems to work ok (well, mostly ok, except that the workflow user isn't added, due to not-null constraints; that's not critical, though). On my box: mysql-server --> version 4.1.9-1 libmysql-java (jdbc driver) --> version 3.0.9-1 tomcat4 --> version 4.1.31-2 So, not exactly the same version as you, but close enough, I'd think. I will, however, try with the mysql-connector-java-3.0.16-ga-bin.jar driver. My guess is that this is where the problem lies. I've spent some time looking at what could have gone wrong. I think I see what's happening, but I cannot figure out why it's happening. Here's what seems to be going on... this is where it starts to look interesting: > ... > > net.sf.hibernate.exception.GenericJDBCException: Could not execute query > at net.sf.hibernate.exception.ErrorCodeConverter.handledNonSpecificException(ErrorCodeConverter.java:90) > at net.sf.hibernate.exception.ErrorCodeConverter.convert(ErrorCodeConverter.java:79) > at net.sf.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:30) > at net.sf.hibernate.impl.SessionImpl.convert(SessionImpl.java:4110) > at net.sf.hibernate.impl.SessionImpl.find(SessionImpl.java:1556) > at net.sf.hibernate.impl.SessionImpl.find(SessionImpl.java:1530) > at net.sf.hibernate.impl.SessionImpl.find(SessionImpl.java:1522) > at net.sf.hibernate.util.HibernateUtil.find(HibernateUtil.java:354) > at za.org.coefficient.util.common.Roles.getAllRoles(Roles.java:49) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) > at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > at java.lang.reflect.Method.invoke(Method.java:324) > at org.apache.commons.beanutils.MethodUtils.invokeMethod(MethodUtils.java:252) > at org.apache.commons.beanutils.MethodUtils.invokeMethod(MethodUtils.java:198) > at za.org.coefficient.invokers.base.BaseInvoker.invokeMethodOnService(BaseInvoker.java:138) > at za.org.coefficient.util.ejb.DataLoaderUtil.createDefaultRolesIfNeeded(DataLoaderUtil.java:163) > ... > Caused by: java.sql.SQLException: No operations allowed after connection closed. This occurs when the dataloader tries to load the default roles. It first does a a "find" on the existing roles (the call to HibernateUtil.find above). This call, however, fails (because the connection was previously closed; it seems that the mysql driver "remembers" that you closed the connection, probably by creating a new Throwable() and holding a reference to it internally). The "find" call failing results in the roles list being null, hence the NPE here: > java.lang.NullPointerException > at za.org.coefficient.util.ejb.DataLoaderUtil.createDefaultRolesIfNeeded(DataLoaderUtil.java:165) > at za.org.coefficient.util.ejb.DataLoaderUtil.initializeDataIfNeeded(DataLoaderUtil.java:140) Then, because the roles don't exist, we cannot add the default users (due to not-null constraints): > 10616 [Thread-5] INFO ejb.DataLoaderUtil - at: DataLoaderUtil.java:266 | operation: user registration | username: admin | fullname: Site Administrato > r > 10626 [Thread-5] INFO ejb.DataLoaderUtil - at: DataLoaderUtil.java:266 | operation: save | on: za.org.coefficient.authentication.CoefficientUser | to > String: Site Administrator > 10636 [Thread-5] ERROR ejb.DataLoaderUtil - at: DataLoaderUtil.java:266 | operation: persistence exception on update | exception type: net.sf.hiberna > te.PropertyValueException | exception message: not-null property references a null or transient value: za.org.coefficient.authentication.CoefficientUs > er.systemRole > net.sf.hibernate.PropertyValueException: not-null property references a null or transient value: za.org.coefficient.authentication.CoefficientUser.sys > temRole > at net.sf.hibernate.impl.SessionImpl.checkNullability(SessionImpl.java:1286) > at net.sf.hibernate.impl.SessionImpl.doSave(SessionImpl.java:937) However, all the other data seems to load fine: (this I find odd. why would the roles operations fail, but these work ok?) > 10676 [Thread-5] INFO ejb.DataLoaderUtil - at: DataLoaderUtil.java:299 | operation: save | on: za.org.coefficient.core.ProjectAttribute | toString: z > a.org.coefficient.core.ProjectAttribute@118abfe > 10756 [Thread-5] INFO ejb.DataLoaderUtil - at: DataLoaderUtil.java:308 | operation: save | on: za.org.coefficient.core.ProjectAttributeData | toStrin > g: za.org.coefficient.core.ProjectAttributeData@94b318 > 10756 [Thread-5] INFO ejb.DataLoaderUtil - at: DataLoaderUtil.java:308 | operation: save | on: za.org.coefficient.core.ProjectAttributeData | toStrin > g: za.org.coefficient.core.ProjectAttributeData@f84b0a > 10756 [Thread-5] INFO ejb.DataLoaderUtil - at: DataLoaderUtil.java:308 | operation: save | on: za.org.coefficient.core.ProjectAttributeData | toStrin > g: za.org.coefficient.core.ProjectAttributeData@106b56a > 10766 [Thread-5] INFO ejb.DataLoaderUtil - at: DataLoaderUtil.java:308 | operation: save | on: za.org.coefficient.core.ProjectAttributeData | toStrin > g: za.org.coefficient.core.ProjectAttributeData@1705316 > 10766 [Thread-5] INFO ejb.DataLoaderUtil - at: DataLoaderUtil.java:308 | operation: save | on: za.org.coefficient.core.ProjectAttributeData | toStrin > ... And here, when the system tries to run the default configuration screen, we fail because there are no users/roles: > java.lang.NullPointerException > at za.org.coefficient.modules.configuration.Configuration.canExecuteForRole(Configuration.java:68) > at za.org.coefficient.invokers.base.BaseInvoker.invokeOpOnModule(BaseInvoker.java:177) > at za.org.coefficient.interceptors.ConfigurationInterceptor.handleInvoke(ConfigurationInterceptor.java:45) > at za.org.coefficient.core.CoefficientInterceptor.invoke(CoefficientInterceptor.java:79) > at za.org.coefficient.core.CoefficientInterceptor.invoke_aroundBody0(CoefficientInterceptor.java:90) > ... > As I mentioned, I'll test with the 3.0.16 driver as well, and get back to you. -- This message has been scanned for viruses and dangerous content by MailScanner, and is believed to be clean. MailScanner thanks transtec Computers for their support. |
From: Thomas F. <tfo...@us...> - 2005-01-26 20:59:05
|
On Wed, 2005-01-26 at 11:55 +0100, sebastien wrote: > There is a version issue with the jar you sent me. weird .... perhaps because I built it with jdk1.5 (I'm guessing that you're running tomcat with 1.4)? I renamed the old jar file to hibernateUtil-jdk1.5.jar, and uploaded a new one (built with jdk1.4.2). Please try again with this new jar. You can grab it here: http://icomdmz1.csir.co.za/~tfogwill/files/hibernateUtil.jar -- This message has been scanned for viruses and dangerous content by MailScanner, and is believed to be clean. MailScanner thanks transtec Computers for their support. |
From: Thomas F. <tfo...@us...> - 2005-01-26 10:02:54
|
On Tue, 2005-01-25 at 16:50 +0100, sebastien wrote: > I looked in the coefficient_role table and as you mentionned it was > empty. > I did drop and recreate the database. Then I restarted the server and > tried to access the coefficient homepage. > > See attached the whole catalina logs after a tomcat restart. We can > see inside that the tables have not been found. > Consequently tables have been recreated however they are still empty. > > There is obviouly a problem in inserting the original data. <log-extract> java.lang.Throwable at com.mysql.jdbc.Connection.close(Connection.java:1123) at net.sf.hibernate.util.HibernateUtil.updateSchema(HibernateUtil.java:818) </log-extract> This happens when we try to close the connection after creating the db; it is a non-critical exception, and is thus just swallowed. It seems, though, that the mysql driver throws a plain Throwable here. We only check for Exception instances (Exception extends Throwable), so this Throwable is never caught (hence propagating right up the call stack). As a result, the default data is never loaded. I've uploaded a patched hibernateUtil.jar for testing here: http://icomdmz1.csir.co.za/~tfogwill/files/hibernateUtil.jar Please drop the db and try again with this jar (instead of the one that ships with coefficient). You will probably see messages like this in the log file: Non critical exception. Will be swallowed. Exception message: ... Non critical exception (throwable). Will be swallowed. Exception message: ... Let me know whether this works for you. If it does, I'll update the sourceforge release files to include this version (after removing the debug code). -- This message has been scanned for viruses and dangerous content by MailScanner, and is believed to be clean. MailScanner thanks transtec Computers for their support. |
From: <seb...@ph...> - 2005-01-25 15:50:33
|
MjUtSmFuLTIwMDUgMTY6Mzg6NDkgb3JnLmFwYWNoZS5jb21tb25zLm1vZGVsZXIuUmVnaXN0cnkg bG9hZFJlZ2lzdHJ5DQpJTkZPOiBMb2FkaW5nIHJlZ2lzdHJ5IGluZm9ybWF0aW9uDQoyNS1KYW4t MjAwNSAxNjozODo0OSBvcmcuYXBhY2hlLmNvbW1vbnMubW9kZWxlci5SZWdpc3RyeSBnZXRSZWdp c3RyeQ0KSU5GTzogQ3JlYXRpbmcgbmV3IFJlZ2lzdHJ5IGluc3RhbmNlDQoyNS1KYW4tMjAwNSAx NjozODo1MCBvcmcuYXBhY2hlLmNvbW1vbnMubW9kZWxlci5SZWdpc3RyeSBnZXRTZXJ2ZXINCklO Rk86IENyZWF0aW5nIE1CZWFuU2VydmVyDQoyNS1KYW4tMjAwNSAxNjozODo1MSBvcmcuYXBhY2hl LmNveW90ZS5odHRwMTEuSHR0cDExUHJvdG9jb2wgaW5pdA0KSU5GTzogSW5pdGlhbGl6aW5nIENv eW90ZSBIVFRQLzEuMSBvbiBwb3J0IDgwODANClN0YXJ0aW5nIHNlcnZpY2UgVG9tY2F0LVN0YW5k YWxvbmUNCkFwYWNoZSBUb21jYXQvNC4xLjI0DQoyNS1KYW4tMjAwNSAxNjozOToxNyBvcmcuYXBh Y2hlLmNveW90ZS5odHRwMTEuSHR0cDExUHJvdG9jb2wgc3RhcnQNCklORk86IFN0YXJ0aW5nIENv eW90ZSBIVFRQLzEuMSBvbiBwb3J0IDgwODANCjI1LUphbi0yMDA1IDE2OjM5OjE3IG9yZy5hcGFj aGUuamsuY29tbW9uLkNoYW5uZWxTb2NrZXQgaW5pdA0KSU5GTzogSksyOiBhanAxMyBsaXN0ZW5p bmcgb24gLzAuMC4wLjA6ODAwOQ0KMjUtSmFuLTIwMDUgMTY6Mzk6MTcgb3JnLmFwYWNoZS5qay5z ZXJ2ZXIuSmtNYWluIHN0YXJ0DQpJTkZPOiBKayBydW5uaW5nIElEPTAgdGltZT0xMC81MCAgY29u ZmlnPUM6XFByb2dyYW0gRmlsZXNcQXBhY2hlIEdyb3VwXFRvbWNhdCA0Lg0KMVxiaW5cLi5cY29u ZlxqazIucHJvcGVydGllcw0KbG9nNGo6V0FSTiBObyBhcHBlbmRlcnMgY291bGQgYmUgZm91bmQg Zm9yIGxvZ2dlciAoemEub3JnLmNvZWZmaWNpZW50LnNlcnZsZXQuQ28NCmVmZmljaWVudFNlcnZs ZXQpLg0KbG9nNGo6V0FSTiBQbGVhc2UgaW5pdGlhbGl6ZSB0aGUgbG9nNGogc3lzdGVtIHByb3Bl cmx5Lg0KNjMxIFtUaHJlYWQtNV0gSU5GTyBjZmcuRW52aXJvbm1lbnQgIC0gSGliZXJuYXRlIDIu MS43DQo2NDEgW1RocmVhZC01XSBJTkZPIGNmZy5FbnZpcm9ubWVudCAgLSBsb2FkZWQgcHJvcGVy dGllcyBmcm9tIHJlc291cmNlIGhpYmVybmF0ZQ0KLnByb3BlcnRpZXM6IHtoaWJlcm5hdGUuY29u bmVjdGlvbi51c2VybmFtZT1jb2VmZmljaWVudCwgaGliZXJuYXRlLmNvbm5lY3Rpb24ucGENCnNz d29yZD1jb2VmZmljaWVudCwgaGliZXJuYXRlLmNnbGliLnVzZV9yZWZsZWN0aW9uX29wdGltaXpl cj10cnVlLCBoaWJlcm5hdGUuY29uDQpuZWN0aW9uLnBvb2xfc2l6ZT0xMCwgaGliZXJuYXRlLmRp YWxlY3Q9bmV0LnNmLmhpYmVybmF0ZS5kaWFsZWN0Lk15U1FMRGlhbGVjdCwgaA0KaWJlcm5hdGUu Y29ubmVjdGlvbi51cmw9amRiYzpteXNxbDovLzEyNy4wLjAuMTozMzA2L2NvZWZmaWNpZW50LCBo aWJlcm5hdGUuY29ubmUNCmN0aW9uLmRyaXZlcl9jbGFzcz1vcmcuZ2p0Lm1tLm15c3FsLkRyaXZl cn0NCjY0MSBbVGhyZWFkLTVdIElORk8gY2ZnLkVudmlyb25tZW50ICAtIHVzaW5nIENHTElCIHJl ZmxlY3Rpb24gb3B0aW1pemVyDQo2NDEgW1RocmVhZC01XSBJTkZPIGNmZy5FbnZpcm9ubWVudCAg LSB1c2luZyBKREsgMS40IGphdmEuc3FsLlRpbWVzdGFtcCBoYW5kbGluZw0KDQo2NTEgW1RocmVh ZC01XSBJTkZPIGNmZy5Db25maWd1cmF0aW9uICAtIE1hcHBpbmcgcmVzb3VyY2U6IHphL29yZy9j b2VmZmljaWVudC9zdA0KYXRpc3RpY3MvZGF0YS9Nb2R1bGVTdGF0aXN0aWNzRGF0YS5oYm0ueG1s DQo3MzEgW1RocmVhZC01XSBXQVJOIHV0aWwuWE1MSGVscGVyICAtIFdhcm5pbmcgcGFyc2luZyBY TUw6IFhNTCBJbnB1dFN0cmVhbSgxKSBVUg0KSSB3YXMgbm90IHJlcG9ydGVkIHRvIHBhcnNlciBm b3IgZW50aXR5IFtkb2N1bWVudF0NCjc2MSBbVGhyZWFkLTVdIFdBUk4gdXRpbC5YTUxIZWxwZXIg IC0gV2FybmluZyBwYXJzaW5nIFhNTDogWE1MIElucHV0U3RyZWFtKDUpIE5vDQogYmFzZSBVUkk7 IGhvcGUgVVJJIGlzIGFic29sdXRlOiBodHRwOi8vaGliZXJuYXRlLnNvdXJjZWZvcmdlLm5ldC9o aWJlcm5hdGUtbWFwcA0KaW5nLTIuMC5kdGQNCjc3MSBbVGhyZWFkLTVdIFdBUk4gdXRpbC5YTUxI ZWxwZXIgIC0gV2FybmluZyBwYXJzaW5nIFhNTDogWE1MIElucHV0U3RyZWFtKDUpIE5vDQogYmFz ZSBVUkk7IGhvcGUgdGhpcyBTWVNURU0gaWQgaXMgYWJzb2x1dGU6IGh0dHA6Ly9oaWJlcm5hdGUu c291cmNlZm9yZ2UubmV0L2hpYg0KZXJuYXRlLW1hcHBpbmctMi4wLmR0ZA0KMTExMSBbVGhyZWFk LTVdIElORk8gY2ZnLkJpbmRlciAgLSBNYXBwaW5nIGNsYXNzOiB6YS5vcmcuY29lZmZpY2llbnQu c3RhdGlzdGljcy4NCmRhdGEuTW9kdWxlU3RhdGlzdGljc0RhdGEgLT4gQ09FRkZJQ0lFTlRfTU9E VUxFX1NUQVRJU1RJQ1NfREFUQQ0KMTE5MSBbVGhyZWFkLTVdIElORk8gY2ZnLkNvbmZpZ3VyYXRp b24gIC0gTWFwcGluZyByZXNvdXJjZTogemEvb3JnL2NvZWZmaWNpZW50L3MNCnRhdGlzdGljcy9k YXRhL01vZHVsZVN0YXRpc3RpY3MuaGJtLnhtbA0KMTIwMSBbVGhyZWFkLTVdIFdBUk4gdXRpbC5Y TUxIZWxwZXIgIC0gV2FybmluZyBwYXJzaW5nIFhNTDogWE1MIElucHV0U3RyZWFtKDEpIFUNClJJ IHdhcyBub3QgcmVwb3J0ZWQgdG8gcGFyc2VyIGZvciBlbnRpdHkgW2RvY3VtZW50XQ0KMTIwMSBb VGhyZWFkLTVdIFdBUk4gdXRpbC5YTUxIZWxwZXIgIC0gV2FybmluZyBwYXJzaW5nIFhNTDogWE1M IElucHV0U3RyZWFtKDUpIE4NCm8gYmFzZSBVUkk7IGhvcGUgVVJJIGlzIGFic29sdXRlOiBodHRw Oi8vaGliZXJuYXRlLnNvdXJjZWZvcmdlLm5ldC9oaWJlcm5hdGUtbWFwDQpwaW5nLTIuMC5kdGQN CjEyMDEgW1RocmVhZC01XSBXQVJOIHV0aWwuWE1MSGVscGVyICAtIFdhcm5pbmcgcGFyc2luZyBY TUw6IFhNTCBJbnB1dFN0cmVhbSg1KSBODQpvIGJhc2UgVVJJOyBob3BlIHRoaXMgU1lTVEVNIGlk IGlzIGFic29sdXRlOiBodHRwOi8vaGliZXJuYXRlLnNvdXJjZWZvcmdlLm5ldC9oaQ0KYmVybmF0 ZS1tYXBwaW5nLTIuMC5kdGQNCjEyMTEgW1RocmVhZC01XSBJTkZPIGNmZy5CaW5kZXIgIC0gTWFw cGluZyBjbGFzczogemEub3JnLmNvZWZmaWNpZW50LnN0YXRpc3RpY3MuDQpkYXRhLk1vZHVsZVN0 YXRpc3RpY3MgLT4gQ09FRkZJQ0lFTlRfTU9EVUxFX1NUQVRJU1RJQ1MNCjEyMzEgW1RocmVhZC01 XSBJTkZPIGNmZy5CaW5kZXIgIC0gTWFwcGluZyBjb2xsZWN0aW9uOiB6YS5vcmcuY29lZmZpY2ll bnQuc3RhdGlzDQp0aWNzLmRhdGEuTW9kdWxlU3RhdGlzdGljcy5hcmNoaXZlIC0+IENPRUZGSUNJ RU5UX01PRFVMRV9TVEFUSVNUSUNTX0FSQ0hJVkUNCjEyNDEgW1RocmVhZC01XSBJTkZPIGNmZy5D b25maWd1cmF0aW9uICAtIE1hcHBpbmcgcmVzb3VyY2U6IHphL29yZy9jb2VmZmljaWVudC9zDQp0 YXRpc3RpY3MvZGF0YS9Qcm9qZWN0U3RhdGlzdGljc0RhdGEuaGJtLnhtbA0KMTI1MSBbVGhyZWFk LTVdIFdBUk4gdXRpbC5YTUxIZWxwZXIgIC0gV2FybmluZyBwYXJzaW5nIFhNTDogWE1MIElucHV0 U3RyZWFtKDEpIFUNClJJIHdhcyBub3QgcmVwb3J0ZWQgdG8gcGFyc2VyIGZvciBlbnRpdHkgW2Rv Y3VtZW50XQ0KMTI1MSBbVGhyZWFkLTVdIFdBUk4gdXRpbC5YTUxIZWxwZXIgIC0gV2FybmluZyBw YXJzaW5nIFhNTDogWE1MIElucHV0U3RyZWFtKDUpIE4NCm8gYmFzZSBVUkk7IGhvcGUgVVJJIGlz IGFic29sdXRlOiBodHRwOi8vaGliZXJuYXRlLnNvdXJjZWZvcmdlLm5ldC9oaWJlcm5hdGUtbWFw DQpwaW5nLTIuMC5kdGQNCjEyNTEgW1RocmVhZC01XSBXQVJOIHV0aWwuWE1MSGVscGVyICAtIFdh cm5pbmcgcGFyc2luZyBYTUw6IFhNTCBJbnB1dFN0cmVhbSg1KSBODQpvIGJhc2UgVVJJOyBob3Bl IHRoaXMgU1lTVEVNIGlkIGlzIGFic29sdXRlOiBodHRwOi8vaGliZXJuYXRlLnNvdXJjZWZvcmdl Lm5ldC9oaQ0KYmVybmF0ZS1tYXBwaW5nLTIuMC5kdGQNCjEyNjEgW1RocmVhZC01XSBJTkZPIGNm Zy5CaW5kZXIgIC0gTWFwcGluZyBjbGFzczogemEub3JnLmNvZWZmaWNpZW50LnN0YXRpc3RpY3Mu DQpkYXRhLlByb2plY3RTdGF0aXN0aWNzRGF0YSAtPiBDT0VGRklDSUVOVF9QUk9KRUNUX1NUQVRJ U1RJQ1NfREFUQQ0KMTI2MSBbVGhyZWFkLTVdIElORk8gY2ZnLkNvbmZpZ3VyYXRpb24gIC0gTWFw cGluZyByZXNvdXJjZTogemEvb3JnL2NvZWZmaWNpZW50L3MNCnRhdGlzdGljcy9kYXRhL1Byb2pl Y3RTdGF0aXN0aWNzLmhibS54bWwNCjEyNzEgW1RocmVhZC01XSBXQVJOIHV0aWwuWE1MSGVscGVy ICAtIFdhcm5pbmcgcGFyc2luZyBYTUw6IFhNTCBJbnB1dFN0cmVhbSgxKSBVDQpSSSB3YXMgbm90 IHJlcG9ydGVkIHRvIHBhcnNlciBmb3IgZW50aXR5IFtkb2N1bWVudF0NCjEyNzEgW1RocmVhZC01 XSBXQVJOIHV0aWwuWE1MSGVscGVyICAtIFdhcm5pbmcgcGFyc2luZyBYTUw6IFhNTCBJbnB1dFN0 cmVhbSg1KSBODQpvIGJhc2UgVVJJOyBob3BlIFVSSSBpcyBhYnNvbHV0ZTogaHR0cDovL2hpYmVy bmF0ZS5zb3VyY2Vmb3JnZS5uZXQvaGliZXJuYXRlLW1hcA0KcGluZy0yLjAuZHRkDQoxMjcxIFtU aHJlYWQtNV0gV0FSTiB1dGlsLlhNTEhlbHBlciAgLSBXYXJuaW5nIHBhcnNpbmcgWE1MOiBYTUwg SW5wdXRTdHJlYW0oNSkgTg0KbyBiYXNlIFVSSTsgaG9wZSB0aGlzIFNZU1RFTSBpZCBpcyBhYnNv bHV0ZTogaHR0cDovL2hpYmVybmF0ZS5zb3VyY2Vmb3JnZS5uZXQvaGkNCmJlcm5hdGUtbWFwcGlu Zy0yLjAuZHRkDQoxMjkxIFtUaHJlYWQtNV0gSU5GTyBjZmcuQmluZGVyICAtIE1hcHBpbmcgY2xh c3M6IHphLm9yZy5jb2VmZmljaWVudC5zdGF0aXN0aWNzLg0KZGF0YS5Qcm9qZWN0U3RhdGlzdGlj cyAtPiBDT0VGRklDSUVOVF9QUk9KRUNUX1NUQVRJU1RJQ1MNCjEyOTEgW1RocmVhZC01XSBJTkZP IGNmZy5CaW5kZXIgIC0gTWFwcGluZyBjb2xsZWN0aW9uOiB6YS5vcmcuY29lZmZpY2llbnQuc3Rh dGlzDQp0aWNzLmRhdGEuUHJvamVjdFN0YXRpc3RpY3MubW9kdWxlU3RhdGlzdGljcyAtPiBDT0VG RklDSUVOVF9QUk9KRUNUX1NUQVRJU1RJQ1NfTQ0KT0RVTEVfU1RBVElTVElDUw0KMTI5MSBbVGhy ZWFkLTVdIElORk8gY2ZnLkJpbmRlciAgLSBNYXBwaW5nIGNvbGxlY3Rpb246IHphLm9yZy5jb2Vm ZmljaWVudC5zdGF0aXMNCnRpY3MuZGF0YS5Qcm9qZWN0U3RhdGlzdGljcy5hcmNoaXZlIC0+IENP RUZGSUNJRU5UX1BST0pFQ1RfU1RBVElTVElDU19BUkNISVZFDQoxMjkxIFtUaHJlYWQtNV0gSU5G TyBjZmcuQ29uZmlndXJhdGlvbiAgLSBNYXBwaW5nIHJlc291cmNlOiB6YS9vcmcvY29lZmZpY2ll bnQvYw0Kb3JlL1Byb2plY3QuaGJtLnhtbA0KMTMwMSBbVGhyZWFkLTVdIFdBUk4gdXRpbC5YTUxI ZWxwZXIgIC0gV2FybmluZyBwYXJzaW5nIFhNTDogWE1MIElucHV0U3RyZWFtKDEpIFUNClJJIHdh cyBub3QgcmVwb3J0ZWQgdG8gcGFyc2VyIGZvciBlbnRpdHkgW2RvY3VtZW50XQ0KMTMwMSBbVGhy ZWFkLTVdIFdBUk4gdXRpbC5YTUxIZWxwZXIgIC0gV2FybmluZyBwYXJzaW5nIFhNTDogWE1MIElu cHV0U3RyZWFtKDUpIE4NCm8gYmFzZSBVUkk7IGhvcGUgVVJJIGlzIGFic29sdXRlOiBodHRwOi8v aGliZXJuYXRlLnNvdXJjZWZvcmdlLm5ldC9oaWJlcm5hdGUtbWFwDQpwaW5nLTIuMC5kdGQNCjEz MDEgW1RocmVhZC01XSBXQVJOIHV0aWwuWE1MSGVscGVyICAtIFdhcm5pbmcgcGFyc2luZyBYTUw6 IFhNTCBJbnB1dFN0cmVhbSg1KSBODQpvIGJhc2UgVVJJOyBob3BlIHRoaXMgU1lTVEVNIGlkIGlz IGFic29sdXRlOiBodHRwOi8vaGliZXJuYXRlLnNvdXJjZWZvcmdlLm5ldC9oaQ0KYmVybmF0ZS1t YXBwaW5nLTIuMC5kdGQNCjEzMTEgW1RocmVhZC01XSBJTkZPIGNmZy5CaW5kZXIgIC0gTWFwcGlu ZyBjbGFzczogemEub3JnLmNvZWZmaWNpZW50LmNvcmUuUHJvamVjDQp0IC0+IENPRUZGSUNJRU5U X1BST0pFQ1QNCjEzMTEgW1RocmVhZC01XSBJTkZPIGNmZy5CaW5kZXIgIC0gTWFwcGluZyBjb2xs ZWN0aW9uOiB6YS5vcmcuY29lZmZpY2llbnQuY29yZS5QDQpyb2plY3QuYXR0cmlidXRlRGF0YSAt PiBDT0VGRklDSUVOVF9QUk9KRUNUX0FUVFJJQlVURVNfREFUQQ0KMTMyMSBbVGhyZWFkLTVdIElO Rk8gY2ZnLkJpbmRlciAgLSBNYXBwaW5nIGNvbGxlY3Rpb246IHphLm9yZy5jb2VmZmljaWVudC5j b3JlLlANCnJvamVjdC5hdHRyaWJ1dGVzIC0+IENPRUZGSUNJRU5UX1BST0pFQ1RfQVRUUklCVVRF Uw0KMTMyMSBbVGhyZWFkLTVdIElORk8gY2ZnLkJpbmRlciAgLSBNYXBwaW5nIGNvbGxlY3Rpb246 IHphLm9yZy5jb2VmZmljaWVudC5jb3JlLlANCnJvamVjdC5jYXRlZ29yaWVzIC0+IENPRUZGSUNJ RU5UX1BST0pFQ1RfQ0FURUdPUklFUw0KMTMzMSBbVGhyZWFkLTVdIElORk8gY2ZnLkJpbmRlciAg LSBNYXBwaW5nIGNvbGxlY3Rpb246IHphLm9yZy5jb2VmZmljaWVudC5jb3JlLlANCnJvamVjdC5t ZW1iZXJzIC0+IENPRUZGSUNJRU5UX1BST0pFQ1RfTUVNQkVSUw0KMTMzMSBbVGhyZWFkLTVdIElO Rk8gY2ZnLkJpbmRlciAgLSBNYXBwaW5nIGNvbGxlY3Rpb246IHphLm9yZy5jb2VmZmljaWVudC5j b3JlLlANCnJvamVjdC5tZW1iZXJzUGVuZGluZyAtPiBDT0VGRklDSUVOVF9QUk9KRUNUX1BFTkRJ TkdfTUVNQkVSUw0KMTMzMSBbVGhyZWFkLTVdIElORk8gY2ZnLkJpbmRlciAgLSBNYXBwaW5nIGNv bGxlY3Rpb246IHphLm9yZy5jb2VmZmljaWVudC5jb3JlLlANCnJvamVjdC5tb2R1bGVzIC0+IENP RUZGSUNJRU5UX1BST0pFQ1RfTU9EVUxFUw0KMTMzMSBbVGhyZWFkLTVdIElORk8gY2ZnLkJpbmRl ciAgLSBNYXBwaW5nIGNvbGxlY3Rpb246IHphLm9yZy5jb2VmZmljaWVudC5jb3JlLlANCnJvamVj dC52ZXJzaW9ucyAtPiBDT0VGRklDSUVOVF9QUk9KRUNUX1ZFUlNJT05TDQoxMzMxIFtUaHJlYWQt NV0gSU5GTyBjZmcuQmluZGVyICAtIE1hcHBpbmcgY29sbGVjdGlvbjogemEub3JnLmNvZWZmaWNp ZW50LmNvcmUuUA0Kcm9qZWN0LmNvbXBvbmVudHMgLT4gQ09FRkZJQ0lFTlRfUFJPSkVDVF9DT01Q T05FTlRTDQoxMzMxIFtUaHJlYWQtNV0gSU5GTyBjZmcuQ29uZmlndXJhdGlvbiAgLSBNYXBwaW5n IHJlc291cmNlOiB6YS9vcmcvY29lZmZpY2llbnQvYw0Kb3JlL0NhdGVnb3J5LmhibS54bWwNCjEz NDEgW1RocmVhZC01XSBXQVJOIHV0aWwuWE1MSGVscGVyICAtIFdhcm5pbmcgcGFyc2luZyBYTUw6 IFhNTCBJbnB1dFN0cmVhbSgxKSBVDQpSSSB3YXMgbm90IHJlcG9ydGVkIHRvIHBhcnNlciBmb3Ig ZW50aXR5IFtkb2N1bWVudF0NCjEzNDEgW1RocmVhZC01XSBXQVJOIHV0aWwuWE1MSGVscGVyICAt IFdhcm5pbmcgcGFyc2luZyBYTUw6IFhNTCBJbnB1dFN0cmVhbSg1KSBODQpvIGJhc2UgVVJJOyBo b3BlIFVSSSBpcyBhYnNvbHV0ZTogaHR0cDovL2hpYmVybmF0ZS5zb3VyY2Vmb3JnZS5uZXQvaGli ZXJuYXRlLW1hcA0KcGluZy0yLjAuZHRkDQoxMzQxIFtUaHJlYWQtNV0gV0FSTiB1dGlsLlhNTEhl bHBlciAgLSBXYXJuaW5nIHBhcnNpbmcgWE1MOiBYTUwgSW5wdXRTdHJlYW0oNSkgTg0KbyBiYXNl IFVSSTsgaG9wZSB0aGlzIFNZU1RFTSBpZCBpcyBhYnNvbHV0ZTogaHR0cDovL2hpYmVybmF0ZS5z b3VyY2Vmb3JnZS5uZXQvaGkNCmJlcm5hdGUtbWFwcGluZy0yLjAuZHRkDQoxMzUxIFtUaHJlYWQt NV0gSU5GTyBjZmcuQmluZGVyICAtIE1hcHBpbmcgY2xhc3M6IHphLm9yZy5jb2VmZmljaWVudC5j b3JlLkNhdGVnbw0KcnkgLT4gQ09FRkZJQ0lFTlRfQ0FURUdPUlkNCjEzNTEgW1RocmVhZC01XSBJ TkZPIGNmZy5Db25maWd1cmF0aW9uICAtIE1hcHBpbmcgcmVzb3VyY2U6IHphL29yZy9jb2VmZmlj aWVudC9jDQpvcmUvUHJvamVjdEF0dHJpYnV0ZS5oYm0ueG1sDQoxMzYxIFtUaHJlYWQtNV0gV0FS TiB1dGlsLlhNTEhlbHBlciAgLSBXYXJuaW5nIHBhcnNpbmcgWE1MOiBYTUwgSW5wdXRTdHJlYW0o MSkgVQ0KUkkgd2FzIG5vdCByZXBvcnRlZCB0byBwYXJzZXIgZm9yIGVudGl0eSBbZG9jdW1lbnRd DQoxMzYxIFtUaHJlYWQtNV0gV0FSTiB1dGlsLlhNTEhlbHBlciAgLSBXYXJuaW5nIHBhcnNpbmcg WE1MOiBYTUwgSW5wdXRTdHJlYW0oNSkgTg0KbyBiYXNlIFVSSTsgaG9wZSBVUkkgaXMgYWJzb2x1 dGU6IGh0dHA6Ly9oaWJlcm5hdGUuc291cmNlZm9yZ2UubmV0L2hpYmVybmF0ZS1tYXANCnBpbmct Mi4wLmR0ZA0KMTM2MSBbVGhyZWFkLTVdIFdBUk4gdXRpbC5YTUxIZWxwZXIgIC0gV2FybmluZyBw YXJzaW5nIFhNTDogWE1MIElucHV0U3RyZWFtKDUpIE4NCm8gYmFzZSBVUkk7IGhvcGUgdGhpcyBT WVNURU0gaWQgaXMgYWJzb2x1dGU6IGh0dHA6Ly9oaWJlcm5hdGUuc291cmNlZm9yZ2UubmV0L2hp DQpiZXJuYXRlLW1hcHBpbmctMi4wLmR0ZA0KMTM3MSBbVGhyZWFkLTVdIElORk8gY2ZnLkJpbmRl ciAgLSBNYXBwaW5nIGNsYXNzOiB6YS5vcmcuY29lZmZpY2llbnQuY29yZS5Qcm9qZWMNCnRBdHRy aWJ1dGUgLT4gQ09FRkZJQ0lFTlRfQVRUUklCVVRFDQoxMzcxIFtUaHJlYWQtNV0gSU5GTyBjZmcu QmluZGVyICAtIE1hcHBpbmcgY29sbGVjdGlvbjogemEub3JnLmNvZWZmaWNpZW50LmNvcmUuUA0K cm9qZWN0QXR0cmlidXRlLmVsZW1lbnRzIC0+IENPRUZGSUNJRU5UX0FUVFJJQlVURV9FTEVNRU5U Uw0KMTM3MSBbVGhyZWFkLTVdIElORk8gY2ZnLkNvbmZpZ3VyYXRpb24gIC0gTWFwcGluZyByZXNv dXJjZTogemEvb3JnL2NvZWZmaWNpZW50L2MNCm9yZS9Qcm9qZWN0QXR0cmlidXRlRGF0YS5oYm0u eG1sDQoxMzgxIFtUaHJlYWQtNV0gV0FSTiB1dGlsLlhNTEhlbHBlciAgLSBXYXJuaW5nIHBhcnNp bmcgWE1MOiBYTUwgSW5wdXRTdHJlYW0oMSkgVQ0KUkkgd2FzIG5vdCByZXBvcnRlZCB0byBwYXJz ZXIgZm9yIGVudGl0eSBbZG9jdW1lbnRdDQoxMzgxIFtUaHJlYWQtNV0gV0FSTiB1dGlsLlhNTEhl bHBlciAgLSBXYXJuaW5nIHBhcnNpbmcgWE1MOiBYTUwgSW5wdXRTdHJlYW0oNSkgTg0KbyBiYXNl IFVSSTsgaG9wZSBVUkkgaXMgYWJzb2x1dGU6IGh0dHA6Ly9oaWJlcm5hdGUuc291cmNlZm9yZ2Uu bmV0L2hpYmVybmF0ZS1tYXANCnBpbmctMi4wLmR0ZA0KMTM4MSBbVGhyZWFkLTVdIFdBUk4gdXRp bC5YTUxIZWxwZXIgIC0gV2FybmluZyBwYXJzaW5nIFhNTDogWE1MIElucHV0U3RyZWFtKDUpIE4N Cm8gYmFzZSBVUkk7IGhvcGUgdGhpcyBTWVNURU0gaWQgaXMgYWJzb2x1dGU6IGh0dHA6Ly9oaWJl cm5hdGUuc291cmNlZm9yZ2UubmV0L2hpDQpiZXJuYXRlLW1hcHBpbmctMi4wLmR0ZA0KMTM5MSBb VGhyZWFkLTVdIElORk8gY2ZnLkJpbmRlciAgLSBNYXBwaW5nIGNsYXNzOiB6YS5vcmcuY29lZmZp Y2llbnQuY29yZS5Qcm9qZWMNCnRBdHRyaWJ1dGVEYXRhIC0+IENPRUZGSUNJRU5UX0FUVFJJQlVU RV9EQVRBDQoxMzkxIFtUaHJlYWQtNV0gSU5GTyBjZmcuQ29uZmlndXJhdGlvbiAgLSBNYXBwaW5n IHJlc291cmNlOiB6YS9vcmcvY29lZmZpY2llbnQvYw0Kb3JlL1Byb2plY3RDb21wb25lbnQuaGJt LnhtbA0KMTQwMSBbVGhyZWFkLTVdIFdBUk4gdXRpbC5YTUxIZWxwZXIgIC0gV2FybmluZyBwYXJz aW5nIFhNTDogWE1MIElucHV0U3RyZWFtKDEpIFUNClJJIHdhcyBub3QgcmVwb3J0ZWQgdG8gcGFy c2VyIGZvciBlbnRpdHkgW2RvY3VtZW50XQ0KMTQwMSBbVGhyZWFkLTVdIFdBUk4gdXRpbC5YTUxI ZWxwZXIgIC0gV2FybmluZyBwYXJzaW5nIFhNTDogWE1MIElucHV0U3RyZWFtKDUpIE4NCm8gYmFz ZSBVUkk7IGhvcGUgVVJJIGlzIGFic29sdXRlOiBodHRwOi8vaGliZXJuYXRlLnNvdXJjZWZvcmdl Lm5ldC9oaWJlcm5hdGUtbWFwDQpwaW5nLTIuMC5kdGQNCjE0MDEgW1RocmVhZC01XSBXQVJOIHV0 aWwuWE1MSGVscGVyICAtIFdhcm5pbmcgcGFyc2luZyBYTUw6IFhNTCBJbnB1dFN0cmVhbSg1KSBO DQpvIGJhc2UgVVJJOyBob3BlIHRoaXMgU1lTVEVNIGlkIGlzIGFic29sdXRlOiBodHRwOi8vaGli ZXJuYXRlLnNvdXJjZWZvcmdlLm5ldC9oaQ0KYmVybmF0ZS1tYXBwaW5nLTIuMC5kdGQNCjE0MTEg W1RocmVhZC01XSBJTkZPIGNmZy5CaW5kZXIgIC0gTWFwcGluZyBjbGFzczogemEub3JnLmNvZWZm aWNpZW50LmNvcmUuUHJvamVjDQp0Q29tcG9uZW50IC0+IENPRUZGSUNJRU5UX0NPTVBPTkVOVA0K MTQxMSBbVGhyZWFkLTVdIElORk8gY2ZnLkNvbmZpZ3VyYXRpb24gIC0gTWFwcGluZyByZXNvdXJj ZTogemEvb3JnL2NvZWZmaWNpZW50L2MNCm9yZS9Qcm9qZWN0VmVyc2lvbi5oYm0ueG1sDQoxNDEx IFtUaHJlYWQtNV0gV0FSTiB1dGlsLlhNTEhlbHBlciAgLSBXYXJuaW5nIHBhcnNpbmcgWE1MOiBY TUwgSW5wdXRTdHJlYW0oMSkgVQ0KUkkgd2FzIG5vdCByZXBvcnRlZCB0byBwYXJzZXIgZm9yIGVu dGl0eSBbZG9jdW1lbnRdDQoxNDExIFtUaHJlYWQtNV0gV0FSTiB1dGlsLlhNTEhlbHBlciAgLSBX YXJuaW5nIHBhcnNpbmcgWE1MOiBYTUwgSW5wdXRTdHJlYW0oNSkgTg0KbyBiYXNlIFVSSTsgaG9w ZSBVUkkgaXMgYWJzb2x1dGU6IGh0dHA6Ly9oaWJlcm5hdGUuc291cmNlZm9yZ2UubmV0L2hpYmVy bmF0ZS1tYXANCnBpbmctMi4wLmR0ZA0KMTQxMSBbVGhyZWFkLTVdIFdBUk4gdXRpbC5YTUxIZWxw ZXIgIC0gV2FybmluZyBwYXJzaW5nIFhNTDogWE1MIElucHV0U3RyZWFtKDUpIE4NCm8gYmFzZSBV Ukk7IGhvcGUgdGhpcyBTWVNURU0gaWQgaXMgYWJzb2x1dGU6IGh0dHA6Ly9oaWJlcm5hdGUuc291 cmNlZm9yZ2UubmV0L2hpDQpiZXJuYXRlLW1hcHBpbmctMi4wLmR0ZA0KMTQyMSBbVGhyZWFkLTVd IElORk8gY2ZnLkJpbmRlciAgLSBNYXBwaW5nIGNsYXNzOiB6YS5vcmcuY29lZmZpY2llbnQuY29y ZS5Qcm9qZWMNCnRWZXJzaW9uIC0+IENPRUZGSUNJRU5UX1BST0pFQ1RfVkVSU0lPTg0KMTQyMSBb VGhyZWFkLTVdIElORk8gY2ZnLkNvbmZpZ3VyYXRpb24gIC0gTWFwcGluZyByZXNvdXJjZTogemEv b3JnL2NvZWZmaWNpZW50L2MNCm9yZS9BdHRyaWJ1dGVFbGVtZW50LmhibS54bWwNCjE0MzEgW1Ro cmVhZC01XSBXQVJOIHV0aWwuWE1MSGVscGVyICAtIFdhcm5pbmcgcGFyc2luZyBYTUw6IFhNTCBJ bnB1dFN0cmVhbSgxKSBVDQpSSSB3YXMgbm90IHJlcG9ydGVkIHRvIHBhcnNlciBmb3IgZW50aXR5 IFtkb2N1bWVudF0NCjE0MzEgW1RocmVhZC01XSBXQVJOIHV0aWwuWE1MSGVscGVyICAtIFdhcm5p bmcgcGFyc2luZyBYTUw6IFhNTCBJbnB1dFN0cmVhbSg1KSBODQpvIGJhc2UgVVJJOyBob3BlIFVS SSBpcyBhYnNvbHV0ZTogaHR0cDovL2hpYmVybmF0ZS5zb3VyY2Vmb3JnZS5uZXQvaGliZXJuYXRl LW1hcA0KcGluZy0yLjAuZHRkDQoxNDMxIFtUaHJlYWQtNV0gV0FSTiB1dGlsLlhNTEhlbHBlciAg LSBXYXJuaW5nIHBhcnNpbmcgWE1MOiBYTUwgSW5wdXRTdHJlYW0oNSkgTg0KbyBiYXNlIFVSSTsg aG9wZSB0aGlzIFNZU1RFTSBpZCBpcyBhYnNvbHV0ZTogaHR0cDovL2hpYmVybmF0ZS5zb3VyY2Vm b3JnZS5uZXQvaGkNCmJlcm5hdGUtbWFwcGluZy0yLjAuZHRkDQoxNDQxIFtUaHJlYWQtNV0gSU5G TyBjZmcuQmluZGVyICAtIE1hcHBpbmcgY2xhc3M6IHphLm9yZy5jb2VmZmljaWVudC5jb3JlLkF0 dHJpYg0KdXRlRWxlbWVudCAtPiBDT0VGRklDSUVOVF9BVFRSSUJVVEVfRUxFTUVOVA0KMTQ0MSBb VGhyZWFkLTVdIElORk8gY2ZnLkNvbmZpZ3VyYXRpb24gIC0gTWFwcGluZyByZXNvdXJjZTogemEv b3JnL2NvZWZmaWNpZW50L2MNCm9yZS9Db2VmZmljaWVudENvbmZpZ3VyYXRpb24uaGJtLnhtbA0K MTQ1MSBbVGhyZWFkLTVdIFdBUk4gdXRpbC5YTUxIZWxwZXIgIC0gV2FybmluZyBwYXJzaW5nIFhN TDogWE1MIElucHV0U3RyZWFtKDEpIFUNClJJIHdhcyBub3QgcmVwb3J0ZWQgdG8gcGFyc2VyIGZv ciBlbnRpdHkgW2RvY3VtZW50XQ0KMTQ1MSBbVGhyZWFkLTVdIFdBUk4gdXRpbC5YTUxIZWxwZXIg IC0gV2FybmluZyBwYXJzaW5nIFhNTDogWE1MIElucHV0U3RyZWFtKDUpIE4NCm8gYmFzZSBVUkk7 IGhvcGUgVVJJIGlzIGFic29sdXRlOiBodHRwOi8vaGliZXJuYXRlLnNvdXJjZWZvcmdlLm5ldC9o aWJlcm5hdGUtbWFwDQpwaW5nLTIuMC5kdGQNCjE0NTEgW1RocmVhZC01XSBXQVJOIHV0aWwuWE1M SGVscGVyICAtIFdhcm5pbmcgcGFyc2luZyBYTUw6IFhNTCBJbnB1dFN0cmVhbSg1KSBODQpvIGJh c2UgVVJJOyBob3BlIHRoaXMgU1lTVEVNIGlkIGlzIGFic29sdXRlOiBodHRwOi8vaGliZXJuYXRl LnNvdXJjZWZvcmdlLm5ldC9oaQ0KYmVybmF0ZS1tYXBwaW5nLTIuMC5kdGQNCjE0NjEgW1RocmVh ZC01XSBJTkZPIGNmZy5CaW5kZXIgIC0gTWFwcGluZyBjbGFzczogemEub3JnLmNvZWZmaWNpZW50 LmNvcmUuQ29lZmZpDQpjaWVudENvbmZpZ3VyYXRpb24gLT4gQ09FRkZJQ0lFTlRfQ09ORklHVVJB VElPTg0KMTQ2MSBbVGhyZWFkLTVdIElORk8gY2ZnLkJpbmRlciAgLSBNYXBwaW5nIGNvbGxlY3Rp b246IHphLm9yZy5jb2VmZmljaWVudC5jb3JlLkMNCm9lZmZpY2llbnRDb25maWd1cmF0aW9uLnBy b3BlcnRpZXMgLT4gQ09FRkZJQ0lFTlRfQ09ORklHVVJBVElPTl9QUk9QRVJUSUVTDQoxNDYxIFtU aHJlYWQtNV0gSU5GTyBjZmcuQ29uZmlndXJhdGlvbiAgLSBNYXBwaW5nIHJlc291cmNlOiB6YS9v cmcvY29lZmZpY2llbnQvYQ0KdXRoZW50aWNhdGlvbi9Db2VmZmljaWVudFVzZXIuaGJtLnhtbA0K MTQ3MSBbVGhyZWFkLTVdIFdBUk4gdXRpbC5YTUxIZWxwZXIgIC0gV2FybmluZyBwYXJzaW5nIFhN TDogWE1MIElucHV0U3RyZWFtKDEpIFUNClJJIHdhcyBub3QgcmVwb3J0ZWQgdG8gcGFyc2VyIGZv ciBlbnRpdHkgW2RvY3VtZW50XQ0KMTQ3MSBbVGhyZWFkLTVdIFdBUk4gdXRpbC5YTUxIZWxwZXIg IC0gV2FybmluZyBwYXJzaW5nIFhNTDogWE1MIElucHV0U3RyZWFtKDUpIE4NCm8gYmFzZSBVUkk7 IGhvcGUgVVJJIGlzIGFic29sdXRlOiBodHRwOi8vaGliZXJuYXRlLnNvdXJjZWZvcmdlLm5ldC9o aWJlcm5hdGUtbWFwDQpwaW5nLTIuMC5kdGQNCjE0NzEgW1RocmVhZC01XSBXQVJOIHV0aWwuWE1M SGVscGVyICAtIFdhcm5pbmcgcGFyc2luZyBYTUw6IFhNTCBJbnB1dFN0cmVhbSg1KSBODQpvIGJh c2UgVVJJOyBob3BlIHRoaXMgU1lTVEVNIGlkIGlzIGFic29sdXRlOiBodHRwOi8vaGliZXJuYXRl LnNvdXJjZWZvcmdlLm5ldC9oaQ0KYmVybmF0ZS1tYXBwaW5nLTIuMC5kdGQNCjE0ODEgW1RocmVh ZC01XSBJTkZPIGNmZy5CaW5kZXIgIC0gTWFwcGluZyBjbGFzczogemEub3JnLmNvZWZmaWNpZW50 LmF1dGhlbnRpY2F0DQppb24uQ29lZmZpY2llbnRVc2VyIC0+IENPRUZGSUNJRU5UX1VTRVINCjE0 ODEgW1RocmVhZC01XSBJTkZPIGNmZy5Db25maWd1cmF0aW9uICAtIE1hcHBpbmcgcmVzb3VyY2U6 IHphL29yZy9jb2VmZmljaWVudC9hDQp1dGhlbnRpY2F0aW9uL1JvbGUuaGJtLnhtbA0KMTQ5MSBb VGhyZWFkLTVdIFdBUk4gdXRpbC5YTUxIZWxwZXIgIC0gV2FybmluZyBwYXJzaW5nIFhNTDogWE1M IElucHV0U3RyZWFtKDEpIFUNClJJIHdhcyBub3QgcmVwb3J0ZWQgdG8gcGFyc2VyIGZvciBlbnRp dHkgW2RvY3VtZW50XQ0KMTQ5MSBbVGhyZWFkLTVdIFdBUk4gdXRpbC5YTUxIZWxwZXIgIC0gV2Fy bmluZyBwYXJzaW5nIFhNTDogWE1MIElucHV0U3RyZWFtKDUpIE4NCm8gYmFzZSBVUkk7IGhvcGUg VVJJIGlzIGFic29sdXRlOiBodHRwOi8vaGliZXJuYXRlLnNvdXJjZWZvcmdlLm5ldC9oaWJlcm5h dGUtbWFwDQpwaW5nLTIuMC5kdGQNCjE0OTEgW1RocmVhZC01XSBXQVJOIHV0aWwuWE1MSGVscGVy ICAtIFdhcm5pbmcgcGFyc2luZyBYTUw6IFhNTCBJbnB1dFN0cmVhbSg1KSBODQpvIGJhc2UgVVJJ OyBob3BlIHRoaXMgU1lTVEVNIGlkIGlzIGFic29sdXRlOiBodHRwOi8vaGliZXJuYXRlLnNvdXJj ZWZvcmdlLm5ldC9oaQ0KYmVybmF0ZS1tYXBwaW5nLTIuMC5kdGQNCjE1MDEgW1RocmVhZC01XSBJ TkZPIGNmZy5CaW5kZXIgIC0gTWFwcGluZyBjbGFzczogemEub3JnLmNvZWZmaWNpZW50LmF1dGhl bnRpY2F0DQppb24uUm9sZSAtPiBDT0VGRklDSUVOVF9ST0xFDQoxNTAxIFtUaHJlYWQtNV0gSU5G TyBjZmcuQ29uZmlndXJhdGlvbiAgLSBNYXBwaW5nIHJlc291cmNlOiB6YS9vcmcvY29lZmZpY2ll bnQvYQ0KdXRoZW50aWNhdGlvbi9Qcm9qZWN0TWVtYmVyLmhibS54bWwNCjE1MTEgW1RocmVhZC01 XSBXQVJOIHV0aWwuWE1MSGVscGVyICAtIFdhcm5pbmcgcGFyc2luZyBYTUw6IFhNTCBJbnB1dFN0 cmVhbSgxKSBVDQpSSSB3YXMgbm90IHJlcG9ydGVkIHRvIHBhcnNlciBmb3IgZW50aXR5IFtkb2N1 bWVudF0NCjE1MjEgW1RocmVhZC01XSBXQVJOIHV0aWwuWE1MSGVscGVyICAtIFdhcm5pbmcgcGFy c2luZyBYTUw6IFhNTCBJbnB1dFN0cmVhbSg1KSBODQpvIGJhc2UgVVJJOyBob3BlIFVSSSBpcyBh YnNvbHV0ZTogaHR0cDovL2hpYmVybmF0ZS5zb3VyY2Vmb3JnZS5uZXQvaGliZXJuYXRlLW1hcA0K cGluZy0yLjAuZHRkDQoxNTIxIFtUaHJlYWQtNV0gV0FSTiB1dGlsLlhNTEhlbHBlciAgLSBXYXJu aW5nIHBhcnNpbmcgWE1MOiBYTUwgSW5wdXRTdHJlYW0oNSkgTg0KbyBiYXNlIFVSSTsgaG9wZSB0 aGlzIFNZU1RFTSBpZCBpcyBhYnNvbHV0ZTogaHR0cDovL2hpYmVybmF0ZS5zb3VyY2Vmb3JnZS5u ZXQvaGkNCmJlcm5hdGUtbWFwcGluZy0yLjAuZHRkDQoxNTIxIFtUaHJlYWQtNV0gSU5GTyBjZmcu QmluZGVyICAtIE1hcHBpbmcgY2xhc3M6IHphLm9yZy5jb2VmZmljaWVudC5hdXRoZW50aWNhdA0K aW9uLlByb2plY3RNZW1iZXIgLT4gQ09FRkZJQ0lFTlRfUFJPSkVDVF9NRU1CRVINCjE1MzEgW1Ro cmVhZC01XSBJTkZPIGNmZy5Db25maWd1cmF0aW9uICAtIE1hcHBpbmcgcmVzb3VyY2U6IHphL2Nv L2NzaXIvaWNvbXRlay93DQpvcmtmbG93L1dvcmtmbG93RGF0YS5oYm0ueG1sDQoxNTMxIFtUaHJl YWQtNV0gV0FSTiB1dGlsLlhNTEhlbHBlciAgLSBXYXJuaW5nIHBhcnNpbmcgWE1MOiBYTUwgSW5w dXRTdHJlYW0oMSkgVQ0KUkkgd2FzIG5vdCByZXBvcnRlZCB0byBwYXJzZXIgZm9yIGVudGl0eSBb ZG9jdW1lbnRdDQoxNTMxIFtUaHJlYWQtNV0gV0FSTiB1dGlsLlhNTEhlbHBlciAgLSBXYXJuaW5n IHBhcnNpbmcgWE1MOiBYTUwgSW5wdXRTdHJlYW0oNSkgTg0KbyBiYXNlIFVSSTsgaG9wZSBVUkkg aXMgYWJzb2x1dGU6IGh0dHA6Ly9oaWJlcm5hdGUuc291cmNlZm9yZ2UubmV0L2hpYmVybmF0ZS1t YXANCnBpbmctMi4wLmR0ZA0KMTUzMSBbVGhyZWFkLTVdIFdBUk4gdXRpbC5YTUxIZWxwZXIgIC0g V2FybmluZyBwYXJzaW5nIFhNTDogWE1MIElucHV0U3RyZWFtKDUpIE4NCm8gYmFzZSBVUkk7IGhv cGUgdGhpcyBTWVNURU0gaWQgaXMgYWJzb2x1dGU6IGh0dHA6Ly9oaWJlcm5hdGUuc291cmNlZm9y Z2UubmV0L2hpDQpiZXJuYXRlLW1hcHBpbmctMi4wLmR0ZA0KMTU0MSBbVGhyZWFkLTVdIElORk8g Y2ZnLkJpbmRlciAgLSBNYXBwaW5nIGNsYXNzOiB6YS5jby5jc2lyLmljb210ZWsud29ya2Zsb3cu V28NCnJrZmxvd0RhdGEgLT4gQ1NJUl9XT1JLRkxPV19EQVRBDQoxNTQxIFtUaHJlYWQtNV0gSU5G TyBjZmcuQ29uZmlndXJhdGlvbiAgLSBwcm9jZXNzaW5nIG9uZS10by1tYW55IGFzc29jaWF0aW9u IG1hcA0KcGluZ3MNCjE1NTIgW1RocmVhZC01XSBJTkZPIGNmZy5Db25maWd1cmF0aW9uICAtIHBy b2Nlc3Npbmcgb25lLXRvLW9uZSBhc3NvY2lhdGlvbiBwcm9wDQplcnR5IHJlZmVyZW5jZXMNCjE1 NTIgW1RocmVhZC01XSBJTkZPIGNmZy5Db25maWd1cmF0aW9uICAtIHByb2Nlc3NpbmcgZm9yZWln biBrZXkgY29uc3RyYWludHMNCjE2MTIgW1RocmVhZC01XSBJTkZPIGRpYWxlY3QuRGlhbGVjdCAg LSBVc2luZyBkaWFsZWN0OiBuZXQuc2YuaGliZXJuYXRlLmRpYWxlY3QuDQpNeVNRTERpYWxlY3QN CjE2NDIgW1RocmVhZC01XSBJTkZPIGNmZy5TZXR0aW5nc0ZhY3RvcnkgIC0gTWF4aW1pbSBvdXRl ciBqb2luIGZldGNoIGRlcHRoOiAyDQoxNjQyIFtUaHJlYWQtNV0gSU5GTyBjZmcuU2V0dGluZ3NG YWN0b3J5ICAtIFVzZSBvdXRlciBqb2luIGZldGNoaW5nOiB0cnVlDQoxNjUyIFtUaHJlYWQtNV0g SU5GTyBjb25uZWN0aW9uLkRyaXZlck1hbmFnZXJDb25uZWN0aW9uUHJvdmlkZXIgIC0gVXNpbmcg SGliZXJuYQ0KdGUgYnVpbHQtaW4gY29ubmVjdGlvbiBwb29sIChub3QgZm9yIHByb2R1Y3Rpb24g dXNlISkNCjE2NTIgW1RocmVhZC01XSBJTkZPIGNvbm5lY3Rpb24uRHJpdmVyTWFuYWdlckNvbm5l Y3Rpb25Qcm92aWRlciAgLSBIaWJlcm5hdGUgY29uDQpuZWN0aW9uIHBvb2wgc2l6ZTogMTANCjE3 OTIgW1RocmVhZC01XSBJTkZPIGNvbm5lY3Rpb24uRHJpdmVyTWFuYWdlckNvbm5lY3Rpb25Qcm92 aWRlciAgLSB1c2luZyBkcml2ZXI6DQogb3JnLmdqdC5tbS5teXNxbC5Ecml2ZXIgYXQgVVJMOiBq ZGJjOm15c3FsOi8vMTI3LjAuMC4xOjMzMDYvY29lZmZpY2llbnQNCjE3OTIgW1RocmVhZC01XSBJ TkZPIGNvbm5lY3Rpb24uRHJpdmVyTWFuYWdlckNvbm5lY3Rpb25Qcm92aWRlciAgLSBjb25uZWN0 aW9uIHByDQpvcGVydGllczoge3VzZXI9Y29lZmZpY2llbnQsIHBhc3N3b3JkPWNvZWZmaWNpZW50 fQ0KMTgxMiBbVGhyZWFkLTVdIElORk8gdHJhbnNhY3Rpb24uVHJhbnNhY3Rpb25NYW5hZ2VyTG9v a3VwRmFjdG9yeSAgLSBObyBUcmFuc2FjdGkNCm9uTWFuYWdlckxvb2t1cCBjb25maWd1cmVkIChp biBKVEEgZW52aXJvbm1lbnQsIHVzZSBvZiBwcm9jZXNzIGxldmVsIHJlYWQtd3JpdGUNCmNhY2hl IGlzIG5vdCByZWNvbW1lbmRlZCkNCjIwNTIgW1RocmVhZC01XSBJTkZPIGNmZy5TZXR0aW5nc0Zh Y3RvcnkgIC0gVXNlIHNjcm9sbGFibGUgcmVzdWx0IHNldHM6IHRydWUNCjIwNTIgW1RocmVhZC01 XSBJTkZPIGNmZy5TZXR0aW5nc0ZhY3RvcnkgIC0gVXNlIEpEQkMzIGdldEdlbmVyYXRlZEtleXMo KTogdHJ1ZQ0KMjA1MiBbVGhyZWFkLTVdIElORk8gY2ZnLlNldHRpbmdzRmFjdG9yeSAgLSBPcHRp bWl6ZSBjYWNoZSBmb3IgbWluaW1hbCBwdXRzOiBmYWwNCnNlDQoyMDYyIFtUaHJlYWQtNV0gSU5G TyBjZmcuU2V0dGluZ3NGYWN0b3J5ICAtIFF1ZXJ5IGxhbmd1YWdlIHN1YnN0aXR1dGlvbnM6IHt9 DQoyMDYyIFtUaHJlYWQtNV0gSU5GTyBjZmcuU2V0dGluZ3NGYWN0b3J5ICAtIGNhY2hlIHByb3Zp ZGVyOiBuZXQuc2YuaGliZXJuYXRlLmNhYw0KaGUuRWhDYWNoZVByb3ZpZGVyDQoyMDcyIFtUaHJl YWQtNV0gSU5GTyBjZmcuQ29uZmlndXJhdGlvbiAgLSBpbnN0YW50aWF0aW5nIGFuZCBjb25maWd1 cmluZyBjYWNoZXMNCjIwOTIgW1RocmVhZC01XSBXQVJOIGNvbmZpZy5Db25maWd1cmF0b3IgIC0g Tm8gY29uZmlndXJhdGlvbiBmb3VuZC4gQ29uZmlndXJpbmcNCmVoY2FjaGUgZnJvbSBlaGNhY2hl LWZhaWxzYWZlLnhtbCBmb3VuZCBpbiB0aGUgY2xhc3NwYXRoOiBqYXI6ZmlsZTovQzovUHJvZ3Jh bSBGDQppbGVzL0FwYWNoZSBHcm91cC9Ub21jYXQgNC4xL3dlYmFwcHMvY29lZmZpY2llbnQvV0VC LUlORi9saWIvZWhjYWNoZS0wLjYuamFyIS9laA0KY2FjaGUtZmFpbHNhZmUueG1sDQoyMzcyIFtU aHJlYWQtNV0gSU5GTyBpbXBsLlNlc3Npb25GYWN0b3J5SW1wbCAgLSBidWlsZGluZyBzZXNzaW9u IGZhY3RvcnkNCjMyMTMgW1RocmVhZC01XSBJTkZPIGltcGwuU2Vzc2lvbkZhY3RvcnlPYmplY3RG YWN0b3J5ICAtIE5vdCBiaW5kaW5nIGZhY3RvcnkgdG8NCkpOREksIG5vIEpOREkgbmFtZSBjb25m aWd1cmVkDQozMzEzIFtUaHJlYWQtNV0gSU5GTyBkaWFsZWN0LkRpYWxlY3QgIC0gVXNpbmcgZGlh bGVjdDogbmV0LnNmLmhpYmVybmF0ZS5kaWFsZWN0Lg0KTXlTUUxEaWFsZWN0DQozMzEzIFtUaHJl YWQtNV0gSU5GTyBjZmcuQ29uZmlndXJhdGlvbiAgLSBwcm9jZXNzaW5nIG9uZS10by1tYW55IGFz c29jaWF0aW9uIG1hcA0KcGluZ3MNCjMzMjMgW1RocmVhZC01XSBJTkZPIGNmZy5Db25maWd1cmF0 aW9uICAtIHByb2Nlc3Npbmcgb25lLXRvLW9uZSBhc3NvY2lhdGlvbiBwcm9wDQplcnR5IHJlZmVy ZW5jZXMNCjMzMjMgW1RocmVhZC01XSBJTkZPIGNmZy5Db25maWd1cmF0aW9uICAtIHByb2Nlc3Np bmcgZm9yZWlnbiBrZXkgY29uc3RyYWludHMNCjMzMjMgW1RocmVhZC01XSBJTkZPIGhibTJkZGwu RGF0YWJhc2VNZXRhZGF0YSAgLSB0YWJsZSBub3QgZm91bmQ6IENPRUZGSUNJRU5UX1BSDQpPSkVD VF9QRU5ESU5HX01FTUJFUlMNCjMzMjMgW1RocmVhZC01XSBJTkZPIGhibTJkZGwuRGF0YWJhc2VN ZXRhZGF0YSAgLSB0YWJsZSBub3QgZm91bmQ6IENPRUZGSUNJRU5UX1BSDQpPSkVDVF9TVEFUSVNU SUNTX0FSQ0hJVkUNCjMzMjMgW1RocmVhZC01XSBJTkZPIGhibTJkZGwuRGF0YWJhc2VNZXRhZGF0 YSAgLSB0YWJsZSBub3QgZm91bmQ6IENPRUZGSUNJRU5UX1BSDQpPSkVDVF9WRVJTSU9OUw0KMzMz MyBbVGhyZWFkLTVdIElORk8gaGJtMmRkbC5EYXRhYmFzZU1ldGFkYXRhICAtIHRhYmxlIG5vdCBm b3VuZDogQ09FRkZJQ0lFTlRfUFINCk9KRUNUX1NUQVRJU1RJQ1NfREFUQQ0KMzMzMyBbVGhyZWFk LTVdIElORk8gaGJtMmRkbC5EYXRhYmFzZU1ldGFkYXRhICAtIHRhYmxlIG5vdCBmb3VuZDogQ09F RkZJQ0lFTlRfQVQNClRSSUJVVEVfREFUQQ0KMzMzMyBbVGhyZWFkLTVdIElORk8gaGJtMmRkbC5E YXRhYmFzZU1ldGFkYXRhICAtIHRhYmxlIG5vdCBmb3VuZDogQ09FRkZJQ0lFTlRfVVMNCkVSDQoz MzMzIFtUaHJlYWQtNV0gSU5GTyBoYm0yZGRsLkRhdGFiYXNlTWV0YWRhdGEgIC0gdGFibGUgbm90 IGZvdW5kOiBDT0VGRklDSUVOVF9BVA0KVFJJQlVURQ0KMzMzMyBbVGhyZWFkLTVdIElORk8gaGJt MmRkbC5EYXRhYmFzZU1ldGFkYXRhICAtIHRhYmxlIG5vdCBmb3VuZDogQ09FRkZJQ0lFTlRfQ08N Ck1QT05FTlQNCjMzMzMgW1RocmVhZC01XSBJTkZPIGhibTJkZGwuRGF0YWJhc2VNZXRhZGF0YSAg LSB0YWJsZSBub3QgZm91bmQ6IENPRUZGSUNJRU5UX0NBDQpURUdPUlkNCjMzMzMgW1RocmVhZC01 XSBJTkZPIGhibTJkZGwuRGF0YWJhc2VNZXRhZGF0YSAgLSB0YWJsZSBub3QgZm91bmQ6IENPRUZG SUNJRU5UX1BSDQpPSkVDVF9NT0RVTEVTDQozMzMzIFtUaHJlYWQtNV0gSU5GTyBoYm0yZGRsLkRh dGFiYXNlTWV0YWRhdGEgIC0gdGFibGUgbm90IGZvdW5kOiBDT0VGRklDSUVOVF9STw0KTEUNCjMz NDMgW1RocmVhZC01XSBJTkZPIGhibTJkZGwuRGF0YWJhc2VNZXRhZGF0YSAgLSB0YWJsZSBub3Qg Zm91bmQ6IENPRUZGSUNJRU5UX1BSDQpPSkVDVF9WRVJTSU9ODQozMzQzIFtUaHJlYWQtNV0gSU5G TyBoYm0yZGRsLkRhdGFiYXNlTWV0YWRhdGEgIC0gdGFibGUgbm90IGZvdW5kOiBDT0VGRklDSUVO VF9NTw0KRFVMRV9TVEFUSVNUSUNTX0FSQ0hJVkUNCjMzNDMgW1RocmVhZC01XSBJTkZPIGhibTJk ZGwuRGF0YWJhc2VNZXRhZGF0YSAgLSB0YWJsZSBub3QgZm91bmQ6IENPRUZGSUNJRU5UX1BSDQpP SkVDVF9NRU1CRVINCjMzNDMgW1RocmVhZC01XSBJTkZPIGhibTJkZGwuRGF0YWJhc2VNZXRhZGF0 YSAgLSB0YWJsZSBub3QgZm91bmQ6IENPRUZGSUNJRU5UX1BSDQpPSkVDVF9DT01QT05FTlRTDQoz MzQzIFtUaHJlYWQtNV0gSU5GTyBoYm0yZGRsLkRhdGFiYXNlTWV0YWRhdGEgIC0gdGFibGUgbm90 IGZvdW5kOiBDT0VGRklDSUVOVF9QUg0KT0pFQ1RfU1RBVElTVElDU19NT0RVTEVfU1RBVElTVElD Uw0KMzM1MyBbVGhyZWFkLTVdIElORk8gaGJtMmRkbC5EYXRhYmFzZU1ldGFkYXRhICAtIHRhYmxl IG5vdCBmb3VuZDogQ09FRkZJQ0lFTlRfQ08NCk5GSUdVUkFUSU9OX1BST1BFUlRJRVMNCjMzNTMg W1RocmVhZC01XSBJTkZPIGhibTJkZGwuRGF0YWJhc2VNZXRhZGF0YSAgLSB0YWJsZSBub3QgZm91 bmQ6IENPRUZGSUNJRU5UX1BSDQpPSkVDVF9DQVRFR09SSUVTDQozMzYzIFtUaHJlYWQtNV0gSU5G TyBoYm0yZGRsLkRhdGFiYXNlTWV0YWRhdGEgIC0gdGFibGUgbm90IGZvdW5kOiBDT0VGRklDSUVO VF9BVA0KVFJJQlVURV9FTEVNRU5UUw0KMzM2MyBbVGhyZWFkLTVdIElORk8gaGJtMmRkbC5EYXRh YmFzZU1ldGFkYXRhICAtIHRhYmxlIG5vdCBmb3VuZDogQ1NJUl9XT1JLRkxPV18NCkRBVEENCjMz NjMgW1RocmVhZC01XSBJTkZPIGhibTJkZGwuRGF0YWJhc2VNZXRhZGF0YSAgLSB0YWJsZSBub3Qg Zm91bmQ6IENPRUZGSUNJRU5UX1BSDQpPSkVDVF9NRU1CRVJTDQozMzYzIFtUaHJlYWQtNV0gSU5G TyBoYm0yZGRsLkRhdGFiYXNlTWV0YWRhdGEgIC0gdGFibGUgbm90IGZvdW5kOiBDT0VGRklDSUVO VF9NTw0KRFVMRV9TVEFUSVNUSUNTDQozMzYzIFtUaHJlYWQtNV0gSU5GTyBoYm0yZGRsLkRhdGFi YXNlTWV0YWRhdGEgIC0gdGFibGUgbm90IGZvdW5kOiBDT0VGRklDSUVOVF9QUg0KT0pFQ1RfU1RB VElTVElDUw0KMzM2MyBbVGhyZWFkLTVdIElORk8gaGJtMmRkbC5EYXRhYmFzZU1ldGFkYXRhICAt IHRhYmxlIG5vdCBmb3VuZDogQ09FRkZJQ0lFTlRfTU8NCkRVTEVfU1RBVElTVElDU19EQVRBDQoz MzczIFtUaHJlYWQtNV0gSU5GTyBoYm0yZGRsLkRhdGFiYXNlTWV0YWRhdGEgIC0gdGFibGUgbm90 IGZvdW5kOiBDT0VGRklDSUVOVF9DTw0KTkZJR1VSQVRJT04NCjMzNzMgW1RocmVhZC01XSBJTkZP IGhibTJkZGwuRGF0YWJhc2VNZXRhZGF0YSAgLSB0YWJsZSBub3QgZm91bmQ6IENPRUZGSUNJRU5U X1BSDQpPSkVDVF9BVFRSSUJVVEVTDQozMzczIFtUaHJlYWQtNV0gSU5GTyBoYm0yZGRsLkRhdGFi YXNlTWV0YWRhdGEgIC0gdGFibGUgbm90IGZvdW5kOiBDT0VGRklDSUVOVF9BVA0KVFJJQlVURV9F TEVNRU5UDQozMzczIFtUaHJlYWQtNV0gSU5GTyBoYm0yZGRsLkRhdGFiYXNlTWV0YWRhdGEgIC0g dGFibGUgbm90IGZvdW5kOiBDT0VGRklDSUVOVF9QUg0KT0pFQ1RfQVRUUklCVVRFU19EQVRBDQoz MzczIFtUaHJlYWQtNV0gSU5GTyBoYm0yZGRsLkRhdGFiYXNlTWV0YWRhdGEgIC0gdGFibGUgbm90 IGZvdW5kOiBDT0VGRklDSUVOVF9QUg0KT0pFQ1QNCjMzNzMgW1RocmVhZC01XSBJTkZPIGhibTJk ZGwuRGF0YWJhc2VNZXRhZGF0YSAgLSB0YWJsZSBub3QgZm91bmQ6IENPRUZGSUNJRU5UX1BSDQpP SkVDVF9QRU5ESU5HX01FTUJFUlMNCjMzNzMgW1RocmVhZC01XSBJTkZPIGhibTJkZGwuRGF0YWJh c2VNZXRhZGF0YSAgLSB0YWJsZSBub3QgZm91bmQ6IENPRUZGSUNJRU5UX1BSDQpPSkVDVF9TVEFU SVNUSUNTX0FSQ0hJVkUNCjMzNzMgW1RocmVhZC01XSBJTkZPIGhibTJkZGwuRGF0YWJhc2VNZXRh ZGF0YSAgLSB0YWJsZSBub3QgZm91bmQ6IENPRUZGSUNJRU5UX1BSDQpPSkVDVF9WRVJTSU9OUw0K MzM4MyBbVGhyZWFkLTVdIElORk8gaGJtMmRkbC5EYXRhYmFzZU1ldGFkYXRhICAtIHRhYmxlIG5v dCBmb3VuZDogQ09FRkZJQ0lFTlRfUFINCk9KRUNUX1NUQVRJU1RJQ1NfREFUQQ0KMzM4MyBbVGhy ZWFkLTVdIElORk8gaGJtMmRkbC5EYXRhYmFzZU1ldGFkYXRhICAtIHRhYmxlIG5vdCBmb3VuZDog Q09FRkZJQ0lFTlRfQVQNClRSSUJVVEVfREFUQQ0KMzM4MyBbVGhyZWFkLTVdIElORk8gaGJtMmRk bC5EYXRhYmFzZU1ldGFkYXRhICAtIHRhYmxlIG5vdCBmb3VuZDogQ09FRkZJQ0lFTlRfVVMNCkVS DQozMzgzIFtUaHJlYWQtNV0gSU5GTyBoYm0yZGRsLkRhdGFiYXNlTWV0YWRhdGEgIC0gdGFibGUg bm90IGZvdW5kOiBDT0VGRklDSUVOVF9BVA0KVFJJQlVURQ0KMzM4MyBbVGhyZWFkLTVdIElORk8g aGJtMmRkbC5EYXRhYmFzZU1ldGFkYXRhICAtIHRhYmxlIG5vdCBmb3VuZDogQ09FRkZJQ0lFTlRf Q08NCk1QT05FTlQNCjMzODMgW1RocmVhZC01XSBJTkZPIGhibTJkZGwuRGF0YWJhc2VNZXRhZGF0 YSAgLSB0YWJsZSBub3QgZm91bmQ6IENPRUZGSUNJRU5UX0NBDQpURUdPUlkNCjMzODMgW1RocmVh ZC01XSBJTkZPIGhibTJkZGwuRGF0YWJhc2VNZXRhZGF0YSAgLSB0YWJsZSBub3QgZm91bmQ6IENP RUZGSUNJRU5UX1BSDQpPSkVDVF9NT0RVTEVTDQozMzgzIFtUaHJlYWQtNV0gSU5GTyBoYm0yZGRs LkRhdGFiYXNlTWV0YWRhdGEgIC0gdGFibGUgbm90IGZvdW5kOiBDT0VGRklDSUVOVF9STw0KTEUN CjMzOTMgW1RocmVhZC01XSBJTkZPIGhibTJkZGwuRGF0YWJhc2VNZXRhZGF0YSAgLSB0YWJsZSBu b3QgZm91bmQ6IENPRUZGSUNJRU5UX1BSDQpPSkVDVF9WRVJTSU9ODQozMzkzIFtUaHJlYWQtNV0g SU5GTyBoYm0yZGRsLkRhdGFiYXNlTWV0YWRhdGEgIC0gdGFibGUgbm90IGZvdW5kOiBDT0VGRklD SUVOVF9NTw0KRFVMRV9TVEFUSVNUSUNTX0FSQ0hJVkUNCjMzOTMgW1RocmVhZC01XSBJTkZPIGhi bTJkZGwuRGF0YWJhc2VNZXRhZGF0YSAgLSB0YWJsZSBub3QgZm91bmQ6IENPRUZGSUNJRU5UX1BS DQpPSkVDVF9NRU1CRVINCjMzOTMgW1RocmVhZC01XSBJTkZPIGhibTJkZGwuRGF0YWJhc2VNZXRh ZGF0YSAgLSB0YWJsZSBub3QgZm91bmQ6IENPRUZGSUNJRU5UX1BSDQpPSkVDVF9DT01QT05FTlRT DQozMzkzIFtUaHJlYWQtNV0gSU5GTyBoYm0yZGRsLkRhdGFiYXNlTWV0YWRhdGEgIC0gdGFibGUg bm90IGZvdW5kOiBDT0VGRklDSUVOVF9QUg0KT0pFQ1RfU1RBVElTVElDU19NT0RVTEVfU1RBVElT VElDUw0KMzM5MyBbVGhyZWFkLTVdIElORk8gaGJtMmRkbC5EYXRhYmFzZU1ldGFkYXRhICAtIHRh YmxlIG5vdCBmb3VuZDogQ09FRkZJQ0lFTlRfQ08NCk5GSUdVUkFUSU9OX1BST1BFUlRJRVMNCjMz OTMgW1RocmVhZC01XSBJTkZPIGhibTJkZGwuRGF0YWJhc2VNZXRhZGF0YSAgLSB0YWJsZSBub3Qg Zm91bmQ6IENPRUZGSUNJRU5UX1BSDQpPSkVDVF9DQVRFR09SSUVTDQozMzkzIFtUaHJlYWQtNV0g SU5GTyBoYm0yZGRsLkRhdGFiYXNlTWV0YWRhdGEgIC0gdGFibGUgbm90IGZvdW5kOiBDT0VGRklD SUVOVF9BVA0KVFJJQlVURV9FTEVNRU5UUw0KMzQwMyBbVGhyZWFkLTVdIElORk8gaGJtMmRkbC5E YXRhYmFzZU1ldGFkYXRhICAtIHRhYmxlIG5vdCBmb3VuZDogQ1NJUl9XT1JLRkxPV18NCkRBVEEN CjM0MDMgW1RocmVhZC01XSBJTkZPIGhibTJkZGwuRGF0YWJhc2VNZXRhZGF0YSAgLSB0YWJsZSBu b3QgZm91bmQ6IENPRUZGSUNJRU5UX1BSDQpPSkVDVF9NRU1CRVJTDQozNDAzIFtUaHJlYWQtNV0g SU5GTyBoYm0yZGRsLkRhdGFiYXNlTWV0YWRhdGEgIC0gdGFibGUgbm90IGZvdW5kOiBDT0VGRklD SUVOVF9NTw0KRFVMRV9TVEFUSVNUSUNTDQozNDAzIFtUaHJlYWQtNV0gSU5GTyBoYm0yZGRsLkRh dGFiYXNlTWV0YWRhdGEgIC0gdGFibGUgbm90IGZvdW5kOiBDT0VGRklDSUVOVF9QUg0KT0pFQ1Rf U1RBVElTVElDUw0KMzQwMyBbVGhyZWFkLTVdIElORk8gaGJtMmRkbC5EYXRhYmFzZU1ldGFkYXRh ICAtIHRhYmxlIG5vdCBmb3VuZDogQ09FRkZJQ0lFTlRfTU8NCkRVTEVfU1RBVElTVElDU19EQVRB DQozNDAzIFtUaHJlYWQtNV0gSU5GTyBoYm0yZGRsLkRhdGFiYXNlTWV0YWRhdGEgIC0gdGFibGUg bm90IGZvdW5kOiBDT0VGRklDSUVOVF9DTw0KTkZJR1VSQVRJT04NCjM0MDMgW1RocmVhZC01XSBJ TkZPIGhibTJkZGwuRGF0YWJhc2VNZXRhZGF0YSAgLSB0YWJsZSBub3QgZm91bmQ6IENPRUZGSUNJ RU5UX1BSDQpPSkVDVF9BVFRSSUJVVEVTDQozNDAzIFtUaHJlYWQtNV0gSU5GTyBoYm0yZGRsLkRh dGFiYXNlTWV0YWRhdGEgIC0gdGFibGUgbm90IGZvdW5kOiBDT0VGRklDSUVOVF9BVA0KVFJJQlVU RV9FTEVNRU5UDQozNDEzIFtUaHJlYWQtNV0gSU5GTyBoYm0yZGRsLkRhdGFiYXNlTWV0YWRhdGEg IC0gdGFibGUgbm90IGZvdW5kOiBDT0VGRklDSUVOVF9QUg0KT0pFQ1RfQVRUUklCVVRFU19EQVRB DQozNDEzIFtUaHJlYWQtNV0gSU5GTyBoYm0yZGRsLkRhdGFiYXNlTWV0YWRhdGEgIC0gdGFibGUg bm90IGZvdW5kOiBDT0VGRklDSUVOVF9QUg0KT0pFQ1QNCjEyNjcyIFtUaHJlYWQtNV0gV0FSTiB1 dGlsLkpEQkNFeGNlcHRpb25SZXBvcnRlciAgLSBTUUwgRXJyb3I6IDAsIFNRTFN0YXRlOiAwODAw DQozDQoxMjY3MiBbVGhyZWFkLTVdIEVSUk9SIHV0aWwuSkRCQ0V4Y2VwdGlvblJlcG9ydGVyICAt IE5vIG9wZXJhdGlvbnMgYWxsb3dlZCBhZnRlcg0KIGNvbm5lY3Rpb24gY2xvc2VkLg0KDQpDb25u ZWN0aW9uIHdhcyBjbG9zZWQgZXhwbGljaXRseSBieSB0aGUgYXBwbGljYXRpb24gYXQgdGhlIGZv bGxvd2luZyBsb2NhdGlvbjoNCg0KKiogQkVHSU4gTkVTVEVEIEVYQ0VQVElPTiAqKg0KDQpqYXZh LmxhbmcuVGhyb3dhYmxlDQoNClNUQUNLVFJBQ0U6DQoNCmphdmEubGFuZy5UaHJvd2FibGUNCiAg ICAgICAgYXQgY29tLm15c3FsLmpkYmMuQ29ubmVjdGlvbi5jbG9zZShDb25uZWN0aW9uLmphdmE6 MTEyMykNCiAgICAgICAgYXQgbmV0LnNmLmhpYmVybmF0ZS51dGlsLkhpYmVybmF0ZVV0aWwudXBk YXRlU2NoZW1hKEhpYmVybmF0ZVV0aWwuamF2YTo4DQoxOCkNCiAgICAgICAgYXQgbmV0LnNmLmhp YmVybmF0ZS51dGlsLkhpYmVybmF0ZVV0aWwuY29uZmlndXJlSGliZXJuYXRlRm9yQ2xhc3NlcyhI aWJlDQpybmF0ZVV0aWwuamF2YToyNTkpDQogICAgICAgIGF0IG5ldC5zZi5oaWJlcm5hdGUudXRp bC5IaWJlcm5hdGVVdGlsLjxjbGluaXQ+KEhpYmVybmF0ZVV0aWwuamF2YToxMDIpDQogICAgICAg IGF0IHphLm9yZy5jb2VmZmljaWVudC5tb2R1bGVzLmNvbmZpZ3VyYXRpb24uQ29uZmlndXJhdGlv bi5nZXRDb25maWd1cmF0aQ0Kb24oQ29uZmlndXJhdGlvbi5qYXZhOjEzOCkNCiAgICAgICAgYXQg c3VuLnJlZmxlY3QuTmF0aXZlTWV0aG9kQWNjZXNzb3JJbXBsLmludm9rZTAoTmF0aXZlIE1ldGhv ZCkNCiAgICAgICAgYXQgc3VuLnJlZmxlY3QuTmF0aXZlTWV0aG9kQWNjZXNzb3JJbXBsLmludm9r ZShOYXRpdmVNZXRob2RBY2Nlc3NvckltcGwuDQpqYXZhOjM5KQ0KICAgICAgICBhdCBzdW4ucmVm bGVjdC5EZWxlZ2F0aW5nTWV0aG9kQWNjZXNzb3JJbXBsLmludm9rZShEZWxlZ2F0aW5nTWV0aG9k QWNjZXMNCnNvckltcGwuamF2YToyNSkNCiAgICAgICAgYXQgamF2YS5sYW5nLnJlZmxlY3QuTWV0 aG9kLmludm9rZShNZXRob2QuamF2YTozMjQpDQogICAgICAgIGF0IG9yZy5hcGFjaGUuY29tbW9u cy5iZWFudXRpbHMuTWV0aG9kVXRpbHMuaW52b2tlTWV0aG9kKE1ldGhvZFV0aWxzLmphdg0KYToy NTIpDQogICAgICAgIGF0IG9yZy5hcGFjaGUuY29tbW9ucy5iZWFudXRpbHMuTWV0aG9kVXRpbHMu aW52b2tlTWV0aG9kKE1ldGhvZFV0aWxzLmphdg0KYToxOTgpDQogICAgICAgIGF0IHphLm9yZy5j b2VmZmljaWVudC5pbnZva2Vycy5iYXNlLkJhc2VJbnZva2VyLmludm9rZU1ldGhvZE9uTW9kdWxl KEJhcw0KZUludm9rZXIuamF2YToxMTQpDQogICAgICAgIGF0IHphLm9yZy5jb2VmZmljaWVudC5j b3JlLkJhc2VDb25maWd1cmF0aW9uQmFja2VkQ29uc3RhbnRzLmluaXQoQmFzZUNvbg0KZmlndXJh dGlvbkJhY2tlZENvbnN0YW50cy5qYXZhOjQ1KQ0KICAgICAgICBhdCB6YS5vcmcuY29lZmZpY2ll bnQuY29yZS5Db25zdGFudHMuaW5pdChDb25zdGFudHMuamF2YTo1OSkNCiAgICAgICAgYXQgemEu b3JnLmNvZWZmaWNpZW50LmNvcmUuQ29uc3RhbnRzLjxjbGluaXQ+KENvbnN0YW50cy5qYXZhOjU1 KQ0KICAgICAgICBhdCB6YS5vcmcuY29lZmZpY2llbnQuY29yZS5Db2VmZmljaWVudFdlYkNvbnRl eHQuPGluaXQ+KENvZWZmaWNpZW50V2ViQ28NCm50ZXh0LmphdmE6MTEwKQ0KICAgICAgICBhdCB6 YS5vcmcuY29lZmZpY2llbnQuc2VydmxldC5Db2VmZmljaWVudFNlcnZsZXQuZXhlY3V0ZShDb2Vm ZmljaWVudFNlcnYNCmxldC5qYXZhOjE1MSkNCiAgICAgICAgYXQgemEub3JnLmNvZWZmaWNpZW50 LnNlcnZsZXQuQ29lZmZpY2llbnRTZXJ2bGV0LmRvR2V0KENvZWZmaWNpZW50U2VydmxlDQp0Lmph dmE6MTE4KQ0KICAgICAgICBhdCBqYXZheC5zZXJ2bGV0Lmh0dHAuSHR0cFNlcnZsZXQuc2Vydmlj ZShIdHRwU2VydmxldC5qYXZhOjc0MCkNCiAgICAgICAgYXQgamF2YXguc2VydmxldC5odHRwLkh0 dHBTZXJ2bGV0LnNlcnZpY2UoSHR0cFNlcnZsZXQuamF2YTo4NTMpDQogICAgICAgIGF0IG9yZy5h cGFjaGUuY2F0YWxpbmEuY29yZS5BcHBsaWNhdGlvbkZpbHRlckNoYWluLmludGVybmFsRG9GaWx0 ZXIoQXBwbA0KaWNhdGlvbkZpbHRlckNoYWluLmphdmE6MjQ3KQ0KICAgICAgICBhdCBvcmcuYXBh Y2hlLmNhdGFsaW5hLmNvcmUuQXBwbGljYXRpb25GaWx0ZXJDaGFpbi5kb0ZpbHRlcihBcHBsaWNh dGlvbkYNCmlsdGVyQ2hhaW4uamF2YToxOTMpDQogICAgICAgIGF0IG9yZy5hcGFjaGUuY2F0YWxp bmEuY29yZS5TdGFuZGFyZFdyYXBwZXJWYWx2ZS5pbnZva2UoU3RhbmRhcmRXcmFwcGVyVg0KYWx2 ZS5qYXZhOjI1NikNCiAgICAgICAgYXQgb3JnLmFwYWNoZS5jYXRhbGluYS5jb3JlLlN0YW5kYXJk UGlwZWxpbmUkU3RhbmRhcmRQaXBlbGluZVZhbHZlQ29udGV4DQp0Lmludm9rZU5leHQoU3RhbmRh cmRQaXBlbGluZS5qYXZhOjY0MykNCiAgICAgICAgYXQgb3JnLmFwYWNoZS5jYXRhbGluYS5jb3Jl LlN0YW5kYXJkUGlwZWxpbmUuaW52b2tlKFN0YW5kYXJkUGlwZWxpbmUuamF2DQphOjQ4MCkNCiAg ICAgICAgYXQgb3JnLmFwYWNoZS5jYXRhbGluYS5jb3JlLkNvbnRhaW5lckJhc2UuaW52b2tlKENv bnRhaW5lckJhc2UuamF2YTo5OTUpDQoNCiAgICAgICAgYXQgb3JnLmFwYWNoZS5jYXRhbGluYS5j b3JlLlN0YW5kYXJkQ29udGV4dFZhbHZlLmludm9rZShTdGFuZGFyZENvbnRleHRWDQphbHZlLmph dmE6MTkxKQ0KICAgICAgICBhdCBvcmcuYXBhY2hlLmNhdGFsaW5hLmNvcmUuU3RhbmRhcmRQaXBl bGluZSRTdGFuZGFyZFBpcGVsaW5lVmFsdmVDb250ZXgNCnQuaW52b2tlTmV4dChTdGFuZGFyZFBp cGVsaW5lLmphdmE6NjQzKQ0KICAgICAgICBhdCBvcmcuYXBhY2hlLmNhdGFsaW5hLmNvcmUuU3Rh bmRhcmRQaXBlbGluZS5pbnZva2UoU3RhbmRhcmRQaXBlbGluZS5qYXYNCmE6NDgwKQ0KICAgICAg ICBhdCBvcmcuYXBhY2hlLmNhdGFsaW5hLmNvcmUuQ29udGFpbmVyQmFzZS5pbnZva2UoQ29udGFp bmVyQmFzZS5qYXZhOjk5NSkNCg0KICAgICAgICBhdCBvcmcuYXBhY2hlLmNhdGFsaW5hLmNvcmUu U3RhbmRhcmRDb250ZXh0Lmludm9rZShTdGFuZGFyZENvbnRleHQuamF2YToNCjI0MTUpDQogICAg ICAgIGF0IG9yZy5hcGFjaGUuY2F0YWxpbmEuY29yZS5TdGFuZGFyZEhvc3RWYWx2ZS5pbnZva2Uo U3RhbmRhcmRIb3N0VmFsdmUuag0KYXZhOjE4MCkNCiAgICAgICAgYXQgb3JnLmFwYWNoZS5jYXRh bGluYS5jb3JlLlN0YW5kYXJkUGlwZWxpbmUkU3RhbmRhcmRQaXBlbGluZVZhbHZlQ29udGV4DQp0 Lmludm9rZU5leHQoU3RhbmRhcmRQaXBlbGluZS5qYXZhOjY0MykNCiAgICAgICAgYXQgb3JnLmFw YWNoZS5jYXRhbGluYS52YWx2ZXMuRXJyb3JEaXNwYXRjaGVyVmFsdmUuaW52b2tlKEVycm9yRGlz cGF0Y2hlDQpyVmFsdmUuamF2YToxNzEpDQogICAgICAgIGF0IG9yZy5hcGFjaGUuY2F0YWxpbmEu Y29yZS5TdGFuZGFyZFBpcGVsaW5lJFN0YW5kYXJkUGlwZWxpbmVWYWx2ZUNvbnRleA0KdC5pbnZv a2VOZXh0KFN0YW5kYXJkUGlwZWxpbmUuamF2YTo2NDEpDQogICAgICAgIGF0IG9yZy5hcGFjaGUu Y2F0YWxpbmEudmFsdmVzLkVycm9yUmVwb3J0VmFsdmUuaW52b2tlKEVycm9yUmVwb3J0VmFsdmUu ag0KYXZhOjE3MikNCiAgICAgICAgYXQgb3JnLmFwYWNoZS5jYXRhbGluYS5jb3JlLlN0YW5kYXJk UGlwZWxpbmUkU3RhbmRhcmRQaXBlbGluZVZhbHZlQ29udGV4DQp0Lmludm9rZU5leHQoU3RhbmRh cmRQaXBlbGluZS5qYXZhOjY0MSkNCiAgICAgICAgYXQgb3JnLmFwYWNoZS5jYXRhbGluYS5jb3Jl LlN0YW5kYXJkUGlwZWxpbmUuaW52b2tlKFN0YW5kYXJkUGlwZWxpbmUuamF2DQphOjQ4MCkNCiAg ICAgICAgYXQgb3JnLmFwYWNoZS5jYXRhbGluYS5jb3JlLkNvbnRhaW5lckJhc2UuaW52b2tlKENv bnRhaW5lckJhc2UuamF2YTo5OTUpDQoNCiAgICAgICAgYXQgb3JnLmFwYWNoZS5jYXRhbGluYS5j b3JlLlN0YW5kYXJkRW5naW5lVmFsdmUuaW52b2tlKFN0YW5kYXJkRW5naW5lVmFsDQp2ZS5qYXZh OjE3NCkNCiAgICAgICAgYXQgb3JnLmFwYWNoZS5jYXRhbGluYS5jb3JlLlN0YW5kYXJkUGlwZWxp bmUkU3RhbmRhcmRQaXBlbGluZVZhbHZlQ29udGV4DQp0Lmludm9rZU5leHQoU3RhbmRhcmRQaXBl bGluZS5qYXZhOjY0MykNCiAgICAgICAgYXQgb3JnLmFwYWNoZS5jYXRhbGluYS5jb3JlLlN0YW5k YXJkUGlwZWxpbmUuaW52b2tlKFN0YW5kYXJkUGlwZWxpbmUuamF2DQphOjQ4MCkNCiAgICAgICAg YXQgb3JnLmFwYWNoZS5jYXRhbGluYS5jb3JlLkNvbnRhaW5lckJhc2UuaW52b2tlKENvbnRhaW5l ckJhc2UuamF2YTo5OTUpDQoNCiAgICAgICAgYXQgb3JnLmFwYWNoZS5jb3lvdGUudG9tY2F0NC5D b3lvdGVBZGFwdGVyLnNlcnZpY2UoQ295b3RlQWRhcHRlci5qYXZhOjIyDQozKQ0KICAgICAgICBh dCBvcmcuYXBhY2hlLmNveW90ZS5odHRwMTEuSHR0cDExUHJvY2Vzc29yLnByb2Nlc3MoSHR0cDEx UHJvY2Vzc29yLmphdmENCjo1OTQpDQogICAgICAgIGF0IG9yZy5hcGFjaGUuY295b3RlLmh0dHAx MS5IdHRwMTFQcm90b2NvbCRIdHRwMTFDb25uZWN0aW9uSGFuZGxlci5wcm9jZQ0Kc3NDb25uZWN0 aW9uKEh0dHAxMVByb3RvY29sLmphdmE6MzkyKQ0KICAgICAgICBhdCBvcmcuYXBhY2hlLnRvbWNh dC51dGlsLm5ldC5UY3BXb3JrZXJUaHJlYWQucnVuSXQoUG9vbFRjcEVuZHBvaW50LmphdmENCjo1 NjUpDQogICAgICAgIGF0IG9yZy5hcGFjaGUudG9tY2F0LnV0aWwudGhyZWFkcy5UaHJlYWRQb29s JENvbnRyb2xSdW5uYWJsZS5ydW4oVGhyZWFkUA0Kb29sLmphdmE6NjE5KQ0KICAgICAgICBhdCBq YXZhLmxhbmcuVGhyZWFkLnJ1bihUaHJlYWQuamF2YTo1MzYpDQoNCg0KKiogRU5EIE5FU1RFRCBF WENFUFRJT04gKioNCg0KDQoxMjY4MiBbVGhyZWFkLTVdIFdBUk4gdXRpbC5KREJDRXhjZXB0aW9u UmVwb3J0ZXIgIC0gU1FMIEVycm9yOiAwLCBTUUxTdGF0ZTogMDgwMA0KMw0KMTI2ODIgW1RocmVh ZC01XSBFUlJPUiB1dGlsLkpEQkNFeGNlcHRpb25SZXBvcnRlciAgLSBObyBvcGVyYXRpb25zIGFs bG93ZWQgYWZ0ZXINCiBjb25uZWN0aW9uIGNsb3NlZC4NCg0KQ29ubmVjdGlvbiB3YXMgY2xvc2Vk IGV4cGxpY2l0bHkgYnkgdGhlIGFwcGxpY2F0aW9uIGF0IHRoZSBmb2xsb3dpbmcgbG9jYXRpb246 DQoNCioqIEJFR0lOIE5FU1RFRCBFWENFUFRJT04gKioNCg0KamF2YS5sYW5nLlRocm93YWJsZQ0K DQpTVEFDS1RSQUNFOg0KDQpqYXZhLmxhbmcuVGhyb3dhYmxlDQogICAgICAgIGF0IGNvbS5teXNx bC5qZGJjLkNvbm5lY3Rpb24uY2xvc2UoQ29ubmVjdGlvbi5qYXZhOjExMjMpDQogICAgICAgIGF0 IG5ldC5zZi5oaWJlcm5hdGUudXRpbC5IaWJlcm5hdGVVdGlsLnVwZGF0ZVNjaGVtYShIaWJlcm5h dGVVdGlsLmphdmE6OA0KMTgpDQogICAgICAgIGF0IG5ldC5zZi5oaWJlcm5hdGUudXRpbC5IaWJl cm5hdGVVdGlsLmNvbmZpZ3VyZUhpYmVybmF0ZUZvckNsYXNzZXMoSGliZQ0Kcm5hdGVVdGlsLmph dmE6MjU5KQ0KICAgICAgICBhdCBuZXQuc2YuaGliZXJuYXRlLnV0aWwuSGliZXJuYXRlVXRpbC48 Y2xpbml0PihIaWJlcm5hdGVVdGlsLmphdmE6MTAyKQ0KICAgICAgICBhdCB6YS5vcmcuY29lZmZp Y2llbnQubW9kdWxlcy5jb25maWd1cmF0aW9uLkNvbmZpZ3VyYXRpb24uZ2V0Q29uZmlndXJhdGkN Cm9uKENvbmZpZ3VyYXRpb24uamF2YToxMzgpDQogICAgICAgIGF0IHN1bi5yZWZsZWN0Lk5hdGl2 ZU1ldGhvZEFjY2Vzc29ySW1wbC5pbnZva2UwKE5hdGl2ZSBNZXRob2QpDQogICAgICAgIGF0IHN1 bi5yZWZsZWN0Lk5hdGl2ZU1ldGhvZEFjY2Vzc29ySW1wbC5pbnZva2UoTmF0aXZlTWV0aG9kQWNj ZXNzb3JJbXBsLg0KamF2YTozOSkNCiAgICAgICAgYXQgc3VuLnJlZmxlY3QuRGVsZWdhdGluZ01l dGhvZEFjY2Vzc29ySW1wbC5pbnZva2UoRGVsZWdhdGluZ01ldGhvZEFjY2VzDQpzb3JJbXBsLmph dmE6MjUpDQogICAgICAgIGF0IGphdmEubGFuZy5yZWZsZWN0Lk1ldGhvZC5pbnZva2UoTWV0aG9k LmphdmE6MzI0KQ0KICAgICAgICBhdCBvcmcuYXBhY2hlLmNvbW1vbnMuYmVhbnV0aWxzLk1ldGhv ZFV0aWxzLmludm9rZU1ldGhvZChNZXRob2RVdGlscy5qYXYNCmE6MjUyKQ0KICAgICAgICBhdCBv cmcuYXBhY2hlLmNvbW1vbnMuYmVhbnV0aWxzLk1ldGhvZFV0aWxzLmludm9rZU1ldGhvZChNZXRo b2RVdGlscy5qYXYNCmE6MTk4KQ0KICAgICAgICBhdCB6YS5vcmcuY29lZmZpY2llbnQuaW52b2tl cnMuYmFzZS5CYXNlSW52b2tlci5pbnZva2VNZXRob2RPbk1vZHVsZShCYXMNCmVJbnZva2VyLmph dmE6MTE0KQ0KICAgICAgICBhdCB6YS5vcmcuY29lZmZpY2llbnQuY29yZS5CYXNlQ29uZmlndXJh dGlvbkJhY2tlZENvbnN0YW50cy5pbml0KEJhc2VDb24NCmZpZ3VyYXRpb25CYWNrZWRDb25zdGFu dHMuamF2YTo0NSkNCiAgICAgICAgYXQgemEub3JnLmNvZWZmaWNpZW50LmNvcmUuQ29uc3RhbnRz LmluaXQoQ29uc3RhbnRzLmphdmE6NTkpDQogICAgICAgIGF0IHphLm9yZy5jb2VmZmljaWVudC5j b3JlLkNvbnN0YW50cy48Y2xpbml0PihDb25zdGFudHMuamF2YTo1NSkNCiAgICAgICAgYXQgemEu b3JnLmNvZWZmaWNpZW50LmNvcmUuQ29lZmZpY2llbnRXZWJDb250ZXh0Ljxpbml0PihDb2VmZmlj aWVudFdlYkNvDQpudGV4dC5qYXZhOjExMCkNCiAgICAgICAgYXQgemEub3JnLmNvZWZmaWNpZW50 LnNlcnZsZXQuQ29lZmZpY2llbnRTZXJ2bGV0LmV4ZWN1dGUoQ29lZmZpY2llbnRTZXJ2DQpsZXQu amF2YToxNTEpDQogICAgICAgIGF0IHphLm9yZy5jb2VmZmljaWVudC5zZXJ2bGV0LkNvZWZmaWNp ZW50U2VydmxldC5kb0dldChDb2VmZmljaWVudFNlcnZsZQ0KdC5qYXZhOjExOCkNCiAgICAgICAg YXQgamF2YXguc2VydmxldC5odHRwLkh0dHBTZXJ2bGV0LnNlcnZpY2UoSHR0cFNlcnZsZXQuamF2 YTo3NDApDQogICAgICAgIGF0IGphdmF4LnNlcnZsZXQuaHR0cC5IdHRwU2VydmxldC5zZXJ2aWNl KEh0dHBTZXJ2bGV0LmphdmE6ODUzKQ0KICAgICAgICBhdCBvcmcuYXBhY2hlLmNhdGFsaW5hLmNv cmUuQXBwbGljYXRpb25GaWx0ZXJDaGFpbi5pbnRlcm5hbERvRmlsdGVyKEFwcGwNCmljYXRpb25G aWx0ZXJDaGFpbi5qYXZhOjI0NykNCiAgICAgICAgYXQgb3JnLmFwYWNoZS5jYXRhbGluYS5jb3Jl LkFwcGxpY2F0aW9uRmlsdGVyQ2hhaW4uZG9GaWx0ZXIoQXBwbGljYXRpb25GDQppbHRlckNoYWlu LmphdmE6MTkzKQ0KICAgICAgICBhdCBvcmcuYXBhY2hlLmNhdGFsaW5hLmNvcmUuU3RhbmRhcmRX cmFwcGVyVmFsdmUuaW52b2tlKFN0YW5kYXJkV3JhcHBlclYNCmFsdmUuamF2YToyNTYpDQogICAg ICAgIGF0IG9yZy5hcGFjaGUuY2F0YWxpbmEuY29yZS5TdGFuZGFyZFBpcGVsaW5lJFN0YW5kYXJk UGlwZWxpbmVWYWx2ZUNvbnRleA0KdC5pbnZva2VOZXh0KFN0YW5kYXJkUGlwZWxpbmUuamF2YTo2 NDMpDQogICAgICAgIGF0IG9yZy5hcGFjaGUuY2F0YWxpbmEuY29yZS5TdGFuZGFyZFBpcGVsaW5l Lmludm9rZShTdGFuZGFyZFBpcGVsaW5lLmphdg0KYTo0ODApDQogICAgICAgIGF0IG9yZy5hcGFj aGUuY2F0YWxpbmEuY29yZS5Db250YWluZXJCYXNlLmludm9rZShDb250YWluZXJCYXNlLmphdmE6 OTk1KQ0KDQogICAgICAgIGF0IG9yZy5hcGFjaGUuY2F0YWxpbmEuY29yZS5TdGFuZGFyZENvbnRl eHRWYWx2ZS5pbnZva2UoU3RhbmRhcmRDb250ZXh0Vg0KYWx2ZS5qYXZhOjE5MSkNCiAgICAgICAg YXQgb3JnLmFwYWNoZS5jYXRhbGluYS5jb3JlLlN0YW5kYXJkUGlwZWxpbmUkU3RhbmRhcmRQaXBl bGluZVZhbHZlQ29udGV4DQp0Lmludm9rZU5leHQoU3RhbmRhcmRQaXBlbGluZS5qYXZhOjY0MykN CiAgICAgICAgYXQgb3JnLmFwYWNoZS5jYXRhbGluYS5jb3JlLlN0YW5kYXJkUGlwZWxpbmUuaW52 b2tlKFN0YW5kYXJkUGlwZWxpbmUuamF2DQphOjQ4MCkNCiAgICAgICAgYXQgb3JnLmFwYWNoZS5j YXRhbGluYS5jb3JlLkNvbnRhaW5lckJhc2UuaW52b2tlKENvbnRhaW5lckJhc2UuamF2YTo5OTUp DQoNCiAgICAgICAgYXQgb3JnLmFwYWNoZS5jYXRhbGluYS5jb3JlLlN0YW5kYXJkQ29udGV4dC5p bnZva2UoU3RhbmRhcmRDb250ZXh0LmphdmE6DQoyNDE1KQ0KICAgICAgICBhdCBvcmcuYXBhY2hl LmNhdGFsaW5hLmNvcmUuU3RhbmRhcmRIb3N0VmFsdmUuaW52b2tlKFN0YW5kYXJkSG9zdFZhbHZl LmoNCmF2YToxODApDQogICAgICAgIGF0IG9yZy5hcGFjaGUuY2F0YWxpbmEuY29yZS5TdGFuZGFy ZFBpcGVsaW5lJFN0YW5kYXJkUGlwZWxpbmVWYWx2ZUNvbnRleA0KdC5pbnZva2VOZXh0KFN0YW5k YXJkUGlwZWxpbmUuamF2YTo2NDMpDQogICAgICAgIGF0IG9yZy5hcGFjaGUuY2F0YWxpbmEudmFs dmVzLkVycm9yRGlzcGF0Y2hlclZhbHZlLmludm9rZShFcnJvckRpc3BhdGNoZQ0KclZhbHZlLmph dmE6MTcxKQ0KICAgICAgICBhdCBvcmcuYXBhY2hlLmNhdGFsaW5hLmNvcmUuU3RhbmRhcmRQaXBl bGluZSRTdGFuZGFyZFBpcGVsaW5lVmFsdmVDb250ZXgNCnQuaW52b2tlTmV4dChTdGFuZGFyZFBp cGVsaW5lLmphdmE6NjQxKQ0KICAgICAgICBhdCBvcmcuYXBhY2hlLmNhdGFsaW5hLnZhbHZlcy5F cnJvclJlcG9ydFZhbHZlLmludm9rZShFcnJvclJlcG9ydFZhbHZlLmoNCmF2YToxNzIpDQogICAg ICAgIGF0IG9yZy5hcGFjaGUuY2F0YWxpbmEuY29yZS5TdGFuZGFyZFBpcGVsaW5lJFN0YW5kYXJk UGlwZWxpbmVWYWx2ZUNvbnRleA0KdC5pbnZva2VOZXh0KFN0YW5kYXJkUGlwZWxpbmUuamF2YTo2 NDEpDQogICAgICAgIGF0IG9yZy5hcGFjaGUuY2F0YWxpbmEuY29yZS5TdGFuZGFyZFBpcGVsaW5l Lmludm9rZShTdGFuZGFyZFBpcGVsaW5lLmphdg0KYTo0ODApDQogICAgICAgIGF0IG9yZy5hcGFj aGUuY2F0YWxpbmEuY29yZS5Db250YWluZXJCYXNlLmludm9rZShDb250YWluZXJCYXNlLmphdmE6 OTk1KQ0KDQogICAgICAgIGF0IG9yZy5hcGFjaGUuY2F0YWxpbmEuY29yZS5TdGFuZGFyZEVuZ2lu ZVZhbHZlLmludm9rZShTdGFuZGFyZEVuZ2luZVZhbA0KdmUuamF2YToxNzQpDQogICAgICAgIGF0 IG9yZy5hcGFjaGUuY2F0YWxpbmEuY29yZS5TdGFuZGFyZFBpcGVsaW5lJFN0YW5kYXJkUGlwZWxp bmVWYWx2ZUNvbnRleA0KdC5pbnZva2VOZXh0KFN0YW5kYXJkUGlwZWxpbmUuamF2YTo2NDMpDQog ICAgICAgIGF0IG9yZy5hcGFjaGUuY2F0YWxpbmEuY29yZS5TdGFuZGFyZFBpcGVsaW5lLmludm9r ZShTdGFuZGFyZFBpcGVsaW5lLmphdg0KYTo0ODApDQogICAgICAgIGF0IG9yZy5hcGFjaGUuY2F0 YWxpbmEuY29yZS5Db250YWluZXJCYXNlLmludm9rZShDb250YWluZXJCYXNlLmphdmE6OTk1KQ0K DQogICAgICAgIGF0IG9yZy5hcGFjaGUuY295b3RlLnRvbWNhdDQuQ295b3RlQWRhcHRlci5zZXJ2 aWNlKENveW90ZUFkYXB0ZXIuamF2YToyMg0KMykNCiAgICAgICAgYXQgb3JnLmFwYWNoZS5jb3lv dGUuaHR0cDExLkh0dHAxMVByb2Nlc3Nvci5wcm9jZXNzKEh0dHAxMVByb2Nlc3Nvci5qYXZhDQo6 NTk0KQ0KICAgICAgICBhdCBvcmcuYXBhY2hlLmNveW90ZS5odHRwMTEuSHR0cDExUHJvdG9jb2wk SHR0cDExQ29ubmVjdGlvbkhhbmRsZXIucHJvY2UNCnNzQ29ubmVjdGlvbihIdHRwMTFQcm90b2Nv bC5qYXZhOjM5MikNCiAgICAgICAgYXQgb3JnLmFwYWNoZS50b21jYXQudXRpbC5uZXQuVGNwV29y a2VyVGhyZWFkLnJ1bkl0KFBvb2xUY3BFbmRwb2ludC5qYXZhDQo6NTY1KQ0KICAgICAgICBhdCBv cmcuYXBhY2hlLnRvbWNhdC51dGlsLnRocmVhZHMuVGhyZWFkUG9vbCRDb250cm9sUnVubmFibGUu cnVuKFRocmVhZFANCm9vbC5qYXZhOjYxOSkNCiAgICAgICAgYXQgamF2YS5sYW5nLlRocmVhZC5y dW4oVGhyZWFkLmphdmE6NTM2KQ0KDQoNCioqIEVORCBORVNURUQgRVhDRVBUSU9OICoqDQoNCg0K bmV0LnNmLmhpYmVybmF0ZS5leGNlcHRpb24uR2VuZXJpY0pEQkNFeGNlcHRpb246IENvdWxkIG5v dCBleGVjdXRlIHF1ZXJ5DQogICAgICAgIGF0IG5ldC5zZi5oaWJlcm5hdGUuZXhjZXB0aW9uLkVy cm9yQ29kZUNvbnZlcnRlci5oYW5kbGVkTm9uU3BlY2lmaWNFeGNlcA0KdGlvbihFcnJvckNvZGVD b252ZXJ0ZXIuamF2YTo5MCkNCiAgICAgICAgYXQgbmV0LnNmLmhpYmVybmF0ZS5leGNlcHRpb24u RXJyb3JDb2RlQ29udmVydGVyLmNvbnZlcnQoRXJyb3JDb2RlQ29udmVyDQp0ZXIuamF2YTo3OSkN CiAgICAgICAgYXQgbmV0LnNmLmhpYmVybmF0ZS5leGNlcHRpb24uSkRCQ0V4Y2VwdGlvbkhlbHBl ci5jb252ZXJ0KEpEQkNFeGNlcHRpb25IDQplbHBlci5qYXZhOjMwKQ0KICAgICAgICBhdCBuZXQu c2YuaGliZXJuYXRlLmltcGwuU2Vzc2lvbkltcGwuY29udmVydChTZXNzaW9uSW1wbC5qYXZhOjQx MTApDQogICAgICAgIGF0IG5ldC5zZi5oaWJlcm5hdGUuaW1wbC5TZXNzaW9uSW1wbC5maW5kKFNl c3Npb25JbXBsLmphdmE6MTU1NikNCiAgICAgICAgYXQgbmV0LnNmLmhpYmVybmF0ZS5pbXBsLlNl c3Npb25JbXBsLmZpbmQoU2Vzc2lvbkltcGwuamF2YToxNTMwKQ0KICAgICAgICBhdCBuZXQuc2Yu aGliZXJuYXRlLmltcGwuU2Vzc2lvbkltcGwuZmluZChTZXNzaW9uSW1wbC5qYXZhOjE1MjIpDQog ICAgICAgIGF0IG5ldC5zZi5oaWJlcm5hdGUudXRpbC5IaWJlcm5hdGVVdGlsLmZpbmQoSGliZXJu YXRlVXRpbC5qYXZhOjM1NikNCiAgICAgICAgYXQgemEub3JnLmNvZWZmaWNpZW50LnV0aWwuY29t bW9uLlJvbGVzLmdldEFsbFJvbGVzKFJvbGVzLmphdmE6NDkpDQogICAgICAgIGF0IHN1bi5yZWZs ZWN0Lk5hdGl2ZU1ldGhvZEFjY2Vzc29ySW1wbC5pbnZva2UwKE5hdGl2ZSBNZXRob2QpDQogICAg ICAgIGF0IHN1bi5yZWZsZWN0Lk5hdGl2ZU1ldGhvZEFjY2Vzc29ySW1wbC5pbnZva2UoTmF0aXZl TWV0aG9kQWNjZXNzb3JJbXBsLg0KamF2YTozOSkNCiAgICAgICAgYXQgc3VuLnJlZmxlY3QuRGVs ZWdhdGluZ01ldGhvZEFjY2Vzc29ySW1wbC5pbnZva2UoRGVsZWdhdGluZ01ldGhvZEFjY2VzDQpz b3JJbXBsLmphdmE6MjUpDQogICAgICAgIGF0IGphdmEubGFuZy5yZWZsZWN0Lk1ldGhvZC5pbnZv a2UoTWV0aG9kLmphdmE6MzI0KQ0KICAgICAgICBhdCBvcmcuYXBhY2hlLmNvbW1vbnMuYmVhbnV0 aWxzLk1ldGhvZFV0aWxzLmludm9rZU1ldGhvZChNZXRob2RVdGlscy5qYXYNCmE6MjUyKQ0KICAg ICAgICBhdCBvcmcuYXBhY2hlLmNvbW1vbnMuYmVhbnV0aWxzLk1ldGhvZFV0aWxzLmludm9rZU1l dGhvZChNZXRob2RVdGlscy5qYXYNCmE6MTk4KQ0KICAgICAgICBhdCB6YS5vcmcuY29lZmZpY2ll bnQuaW52b2tlcnMuYmFzZS5CYXNlSW52b2tlci5pbnZva2VNZXRob2RPblNlcnZpY2UoQmENCnNl SW52b2tlci5qYXZhOjEzOCkNCiAgICAgICAgYXQgemEub3JnLmNvZWZmaWNpZW50LnV0aWwuZWpi LkRhdGFMb2FkZXJVdGlsLmNyZWF0ZURlZmF1bHRSb2xlc0lmTmVlZGVkDQooRGF0YUxvYWRlclV0 aWwuamF2YToxNjMpDQogICAgICAgIGF0IHphLm9yZy5jb2VmZmljaWVudC51dGlsLmVqYi5EYXRh TG9hZGVyVXRpbC5pbml0aWFsaXplRGF0YUlmTmVlZGVkKERhdA0KYUxvYWRlclV0aWwuamF2YTox NDApDQogICAgICAgIGF0IHN1bi5yZWZsZWN0Lk5hdGl2ZU1ldGhvZEFjY2Vzc29ySW1wbC5pbnZv a2UwKE5hdGl2ZSBNZXRob2QpDQogICAgICAgIGF0IHN1bi5yZWZsZWN0Lk5hdGl2ZU1ldGhvZEFj Y2Vzc29ySW1wbC5pbnZva2UoTmF0aXZlTWV0aG9kQWNjZXNzb3JJbXBsLg0KamF2YTozOSkNCiAg ICAgICAgYXQgc3VuLnJlZmxlY3QuRGVsZWdhdGluZ01ldGhvZEFjY2Vzc29ySW1wbC5pbnZva2Uo RGVsZWdhdGluZ01ldGhvZEFjY2VzDQpzb3JJbXBsLmphdmE6MjUpDQogICAgICAgIGF0IGphdmEu bGFuZy5yZWZsZWN0Lk1ldGhvZC5pbnZva2UoTWV0aG9kLmphdmE6MzI0KQ0KICAgICAgICBhdCBu ZXQuc2YuaGliZXJuYXRlLnV0aWwuSGliZXJuYXRlVXRpbC5pbnZva2VEYXRhTG9hZGVyKEhpYmVy bmF0ZVV0aWwuamENCnZhOjkwNSkNCiAgICAgICAgYXQgbmV0LnNmLmhpYmVybmF0ZS51dGlsLkhp YmVybmF0ZVV0aWwuPGNsaW5pdD4oSGliZXJuYXRlVXRpbC5qYXZhOjEwMykNCiAgICAgICAgYXQg emEub3JnLmNvZWZmaWNpZW50Lm1vZHVsZXMuY29uZmlndXJhdGlvbi5Db25maWd1cmF0aW9uLmdl dENvbmZpZ3VyYXRpDQpvbihDb25maWd1cmF0aW9uLmphdmE6MTM4KQ0KICAgICAgICBhdCBzdW4u cmVmbGVjdC5OYXRpdmVNZXRob2RBY2Nlc3NvckltcGwuaW52b2tlMChOYXRpdmUgTWV0aG9kKQ0K ICAgICAgICBhdCBzdW4ucmVmbGVjdC5OYXRpdmVNZXRob2RBY2Nlc3NvckltcGwuaW52b2tlKE5h dGl2ZU1ldGhvZEFjY2Vzc29ySW1wbC4NCmphdmE6MzkpDQogICAgICAgIGF0IHN1bi5yZWZsZWN0 LkRlbGVnYXRpbmdNZXRob2RBY2Nlc3NvckltcGwuaW52b2tlKERlbGVnYXRpbmdNZXRob2RBY2Nl cw0Kc29ySW1wbC5qYXZhOjI1KQ0KICAgICAgICBhdCBqYXZhLmxhbmcucmVmbGVjdC5NZXRob2Qu aW52b2tlKE1ldGhvZC5qYXZhOjMyNCkNCiAgICAgICAgYXQgb3JnLmFwYWNoZS5jb21tb25zLmJl YW51dGlscy5NZXRob2RVdGlscy5pbnZva2VNZXRob2QoTWV0aG9kVXRpbHMuamF2DQphOjI1MikN CiAgICAgICAgYXQgb3JnLmFwYWNoZS5jb21tb25zLmJlYW51dGlscy5NZXRob2RVdGlscy5pbnZv a2VNZXRob2QoTWV0aG9kVXRpbHMuamF2DQphOjE5OCkNCiAgICAgICAgYXQgemEub3JnLmNvZWZm aWNpZW50Lmludm9rZXJzLmJhc2UuQmFzZUludm9rZXIuaW52b2tlTWV0aG9kT25Nb2R1bGUoQmFz DQplSW52b2tlci5qYXZhOjExNCkNCiAgICAgICAgYXQgemEub3JnLmNvZWZmaWNpZW50LmNvcmUu QmFzZUNvbmZpZ3VyYXRpb25CYWNrZWRDb25zdGFudHMuaW5pdChCYXNlQ29uDQpmaWd1cmF0aW9u QmFja2VkQ29uc3RhbnRzLmphdmE6NDUpDQogICAgICAgIGF0IHphLm9yZy5jb2VmZmljaWVudC5j b3JlLkNvbnN0YW50cy5pbml0KENvbnN0YW50cy5qYXZhOjU5KQ0KICAgICAgICBhdCB6YS5vcmcu Y29lZmZpY2llbnQuY29yZS5Db25zdGFudHMuPGNsaW5pdD4oQ29uc3RhbnRzLmphdmE6NTUpDQog ICAgICAgIGF0IHphLm9yZy5jb2VmZmljaWVudC5jb3JlLkNvZWZmaWNpZW50V2ViQ29udGV4dC48 aW5pdD4oQ29lZmZpY2llbnRXZWJDbw0KbnRleHQuamF2YToxMTApDQogICAgICAgIGF0IHphLm9y Zy5jb2VmZmljaWVudC5zZXJ2bGV0LkNvZWZmaWNpZW50U2VydmxldC5leGVjdXRlKENvZWZmaWNp ZW50U2Vydg0KbGV0LmphdmE6MTUxKQ0KICAgICAgICBhdCB6YS5vcmcuY29lZmZpY2llbnQuc2Vy dmxldC5Db2VmZmljaWVudFNlcnZsZXQuZG9HZXQoQ29lZmZpY2llbnRTZXJ2bGUNCnQuamF2YTox MTgpDQogICAgICAgIGF0IGphdmF4LnNlcnZsZXQuaHR0cC5IdHRwU2VydmxldC5zZXJ2aWNlKEh0 dHBTZXJ2bGV0LmphdmE6NzQwKQ0KICAgICAgICBhdCBqYXZheC5zZXJ2bGV0Lmh0dHAuSHR0cFNl cnZsZXQuc2VydmljZShIdHRwU2VydmxldC5qYXZhOjg1MykNCiAgICAgICAgYXQgb3JnLmFwYWNo ZS5jYXRhbGluYS5jb3JlLkFwcGxpY2F0aW9uRmlsdGVyQ2hhaW4uaW50ZXJuYWxEb0ZpbHRlcihB cHBsDQppY2F0aW9uRmlsdGVyQ2hhaW4uamF2YToyNDcpDQogICAgICAgIGF0IG9yZy5hcGFjaGUu Y2F0YWxpbmEuY29yZS5BcHBsaWNhdGlvbkZpbHRlckNoYWluLmRvRmlsdGVyKEFwcGxpY2F0aW9u Rg0KaWx0ZXJDaGFpbi5qYXZhOjE5MykNCiAgICAgICAgYXQgb3JnLmFwYWNoZS5jYXRhbGluYS5j b3JlLlN0YW5kYXJkV3JhcHBlclZhbHZlLmludm9rZShTdGFuZGFyZFdyYXBwZXJWDQphbHZlLmph dmE6MjU2KQ0KICAgICAgICBhdCBvcmcuYXBhY2hlLmNhdGFsaW5hLmNvcmUuU3RhbmRhcmRQaXBl bGluZSRTdGFuZGFyZFBpcGVsaW5lVmFsdmVDb250ZXgNCnQuaW52b2tlTmV4dChTdGFuZGFyZFBp cGVsaW5lLmphdmE6NjQzKQ0KICAgICAgICBhdCBvcmcuYXBhY2hlLmNhdGFsaW5hLmNvcmUuU3Rh bmRhcmRQaXBlbGluZS5pbnZva2UoU3RhbmRhcmRQaXBlbGluZS5qYXYNCmE6NDgwKQ0KICAgICAg ICBhdCBvcmcuYXBhY2hlLmNhdGFsaW5hLmNvcmUuQ29udGFpbmVyQmFzZS5pbnZva2UoQ29udGFp bmVyQmFzZS5qYXZhOjk5NSkNCg0KICAgICAgICBhdCBvcmcuYXBhY2hlLmNhdGFsaW5hLmNvcmUu U3RhbmRhcmRDb250ZXh0VmFsdmUuaW52b2tlKFN0YW5kYXJkQ29udGV4dFYNCmFsdmUuamF2YTox OTEpDQogICAgICAgIGF0IG9yZy5hcGFjaGUuY2F0YWxpbmEuY29yZS5TdGFuZGFyZFBpcGVsaW5l JFN0YW5kYXJkUGlwZWxpbmVWYWx2ZUNvbnRleA0KdC5pbnZva2VOZXh0KFN0YW5kYXJkUGlwZWxp bmUuamF2YTo2NDMpDQogICAgICAgIGF0IG9yZy5hcGFjaGUuY2F0YWxpbmEuY29yZS5TdGFuZGFy ZFBpcGVsaW5lLmludm9rZShTdGFuZGFyZFBpcGVsaW5lLmphdg0KYTo0ODApDQogICAgICAgIGF0 IG9yZy5hcGFjaGUuY2F0YWxpbmEuY29yZS5Db250YWluZXJCYXNlLmludm9rZShDb250YWluZXJC YXNlLmphdmE6OTk1KQ0KDQogICAgICAgIGF0IG9yZy5hcGFjaGUuY2F0YWxpbmEuY29yZS5TdGFu ZGFyZENvbnRleHQuaW52b2tlKFN0YW5kYXJkQ29udGV4dC5qYXZhOg0KMjQxNSkNCiAgICAgICAg YXQgb3JnLmFwYWNoZS5jYXRhbGluYS5jb3JlLlN0YW5kYXJkSG9zdFZhbHZlLmludm9rZShTdGFu ZGFyZEhvc3RWYWx2ZS5qDQphdmE6MTgwKQ0KICAgICAgICBhdCBvcmcuYXBhY2hlLmNhdGFsaW5h LmNvcmUuU3RhbmRhcmRQaXBlbGluZSRTdGFuZGFyZFBpcGVsaW5lVmFsdmVDb250ZXgNCnQuaW52 b2tlTmV4dChTdGFuZGFyZFBpcGVsaW5lLmphdmE6NjQzKQ0KICAgICAgICBhdCBvcmcuYXBhY2hl LmNhdGFsaW5hLnZhbHZlcy5FcnJvckRpc3BhdGNoZXJWYWx2ZS5pbnZva2UoRXJyb3JEaXNwYXRj aGUNCnJWYWx2ZS5qYXZhOjE3MSkNCiAgICAgICAgYXQgb3JnLmFwYWNoZS5jYXRhbGluYS5jb3Jl LlN0YW5kYXJkUGlwZWxpbmUkU3RhbmRhcmRQaXBlbGluZVZhbHZlQ29udGV4DQp0Lmludm9rZU5l eHQoU3RhbmRhcmRQaXBlbGluZS5qYXZhOjY0MSkNCiAgICAgICAgYXQgb3JnLmFwYWNoZS5jYXRh bGluYS52YWx2ZXMuRXJyb3JSZXBvcnRWYWx2ZS5pbnZva2UoRXJyb3JSZXBvcnRWYWx2ZS5qDQph dmE6MTcyKQ0KICAgICAgICBhdCBvcmcuYXBhY2hlLmNhdGFsaW5hLmNvcmUuU3RhbmRhcmRQaXBl bGluZSRTdGFuZGFyZFBpcGVsaW5lVmFsdmVDb250ZXgNCnQuaW52b2tlTmV4dChTdGFuZGFyZFBp cGVsaW5lLmphdmE6NjQxKQ0KICAgICAgICBhdCBvcmcuYXBhY2hlLmNhdGFsaW5hLmNvcmUuU3Rh bmRhcmRQaXBlbGluZS5pbnZva2UoU3RhbmRhcmRQaXBlbGluZS5qYXYNCmE6NDgwKQ0KICAgICAg ICBhdCBvcmcuYXBhY2hlLmNhdGFsaW5hLmNvcmUuQ29udGFpbmVyQmFzZS5pbnZva2UoQ29udGFp bmVyQmFzZS5qYXZhOjk5NSkNCg0KICAgICAgICBhdCBvcmcuYXBhY2hlLmNhdGFsaW5hLmNvcmUu U3RhbmRhcmRFbmdpbmVWYWx2ZS5pbnZva2UoU3RhbmRhcmRFbmdpbmVWYWwNCnZlLmphdmE6MTc0 KQ0KICAgICAgICBhdCBvcmcuYXBhY2hlLmNhdGFsaW5hLmNvcmUuU3RhbmRhcmRQaXBlbGluZSRT dGFuZGFyZFBpcGVsaW5lVmFsdmVDb250ZXgNCnQuaW52b2tlTmV4dChTdGFuZGFyZFBpcGVsaW5l LmphdmE6NjQzKQ0KICAgICAgICBhdCBvcmcuYXBhY2hlLmNhdGFsaW5hLmNvcmUuU3RhbmRhcmRQ aXBlbGluZS5pbnZva2UoU3RhbmRhcmRQaXBlbGluZS5qYXYNCmE6NDgwKQ0KICAgICAgICBhdCBv cmcuYXBhY2hlLmNhdGFsaW5hLmNvcmUuQ29udGFpbmVyQmFzZS5pbnZva2UoQ29udGFpbmVyQmFz ZS5qYXZhOjk5NSkNCg0KICAgICAgICBhdCBvcmcuYXBhY2hlLmNveW90ZS50b21jYXQ0LkNveW90 ZUFkYXB0ZXIuc2VydmljZShDb3lvdGVBZGFwdGVyLmphdmE6MjINCjMpDQogICAgICAgIGF0IG9y Zy5hcGFjaGUuY295b3RlLmh0dHAxMS5IdHRwMTFQcm9jZXNzb3IucHJvY2VzcyhIdHRwMTFQcm9j ZXNzb3IuamF2YQ0KOjU5NCkNCiAgICAgICAgYXQgb3JnLmFwYWNoZS5jb3lvdGUuaHR0cDExLkh0 dHAxMVByb3RvY29sJEh0dHAxMUNvbm5lY3Rpb25IYW5kbGVyLnByb2NlDQpzc0Nvbm5lY3Rpb24o SHR0cDExUHJvdG9jb2wuamF2YTozOTIpDQogICAgICAgIGF0IG9yZy5hcGFjaGUudG9tY2F0LnV0 aWwubmV0LlRjcFdvcmtlclRocmVhZC5ydW5JdChQb29sVGNwRW5kcG9pbnQuamF2YQ0KOjU2NSkN CiAgICAgICAgYXQgb3JnLmFwYWNoZS50b21jYXQudXRpbC50aHJlYWRzLlRocmVhZFBvb2wkQ29u dHJvbFJ1bm5hYmxlLnJ1bihUaHJlYWRQDQpvb2wuamF2YTo2MTkpDQogICAgICAgIGF0IGphdmEu bGFuZy5UaHJlYWQucnVuKFRocmVhZC5qYXZhOjUzNikNCkNhdXNlZCBieTogamF2YS5zcWwuU1FM RXhjZXB0aW9uOiBObyBvcGVyYXRpb25zIGFsbG93ZWQgYWZ0ZXIgY29ubmVjdGlvbiBjbG9zZWQu DQoNCg0KQ29ubmVjdGlvbiB3YXMgY2xvc2VkIGV4cGxpY2l0bHkgYnkgdGhlIGFwcGxpY2F0aW9u IGF0IHRoZSBmb2xsb3dpbmcgbG9jYXRpb246DQoNCioqIEJFR0lOIE5FU1RFRCBFWENFUFRJT04g KioNCg0KamF2YS5sYW5nLlRocm93YWJsZQ0KDQpTVEFDS1RSQUNFOg0KDQpqYXZhLmxhbmcuVGhy b3dhYmxlDQogICAgICAgIGF0IGNvbS5teXNxbC5qZGJjLkNvbm5lY3Rpb24uY2xvc2UoQ29ubmVj dGlvbi5qYXZhOjExMjMpDQogICAgICAgIGF0IG5ldC5zZi5oaWJlcm5hdGUudXRpbC5IaWJlcm5h dGVVdGlsLnVwZGF0ZVNjaGVtYShIaWJlcm5hdGVVdGlsLmphdmE6OA0KMTgpDQogICAgICAgIGF0 IG5ldC5zZi5oaWJlcm5hdGUudXRpbC5IaWJlcm5hdGVVdGlsLmNvbmZpZ3VyZUhpYmVybmF0ZUZv ckNsYXNzZXMoSGliZQ0Kcm5hdGVVdGlsLmphdmE6MjU5KQ0KICAgICAgICBhdCBuZXQuc2YuaGli ZXJuYXRlLnV0aWwuSGliZXJuYXRlVXRpbC48Y2xpbml0PihIaWJlcm5hdGVVdGlsLmphdmE6MTAy KQ0KICAgICAgICBhdCB6YS5vcmcuY29lZmZpY2llbnQubW9kdWxlcy5jb25maWd1cmF0aW9uLkNv bmZpZ3VyYXRpb24uZ2V0Q29uZmlndXJhdGkNCm9uKENvbmZpZ3VyYXRpb24uamF2YToxMzgpDQog ICAgICAgIGF0IHN1bi5yZWZsZWN0Lk5hdGl2ZU1ldGhvZEFjY2Vzc29ySW1wbC5pbnZva2UwKE5h dGl2ZSBNZXRob2QpDQogICAgICAgIGF0IHN1bi5yZWZsZWN0Lk5hdGl2ZU1ldGhvZEFjY2Vzc29y SW1wbC5pbnZva2UoTmF0aXZlTWV0aG9kQWNjZXNzb3JJbXBsLg0KamF2YTozOSkNCiAgICAgICAg YXQgc3VuLnJlZmxlY3QuRGVsZWdhdGluZ01ldGhvZEFjY2Vzc29ySW1wbC5pbnZva2UoRGVsZWdh dGluZ01ldGhvZEFjY2VzDQpzb3JJbXBsLmphdmE6MjUpDQogICAgICAgIGF0IGphdmEubGFuZy5y ZWZsZWN0Lk1ldGhvZC5pbnZva2UoTWV0aG9kLmphdmE6MzI0KQ0KICAgICAgICBhdCBvcmcuYXBh Y2hlLmNvbW1vbnMuYmVhbnV0aWxzLk1ldGhvZFV0aWxzLmludm9rZU1ldGhvZChNZXRob2RVdGls cy5qYXYNCmE6MjUyKQ0KICAgICAgICBhdCBvcmcuYXBhY2hlLmNvbW1vbnMuYmVhbnV0aWxzLk1l dGhvZFV0aWxzLmludm9rZU1ldGhvZChNZXRob2RVdGlscy5qYXYNCmE6MTk4KQ0KICAgICAgICBh dCB6YS5vcmcuY29lZmZpY2llbnQuaW52b2tlcnMuYmFzZS5CYXNlSW52b2tlci5pbnZva2VNZXRo b2RPbk1vZHVsZShCYXMNCmVJbnZva2VyLmphdmE6MTE0KQ0KICAgICAgICBhdCB6YS5vcmcuY29l ZmZpY2llbnQuY29yZS5CYXNlQ29uZmlndXJhdGlvbkJhY2tlZENvbnN0YW50cy5pbml0KEJhc2VD b24NCmZpZ3VyYXRpb25CYWNrZWRDb25zdGFudHMuamF2YTo0NSkNCiAgICAgICAgYXQgemEub3Jn LmNvZWZmaWNpZW50LmNvcmUuQ29uc3RhbnRzLmluaXQoQ29uc3RhbnRzLmphdmE6NTkpDQogICAg ICAgIGF0IHphLm9yZy5jb2VmZmljaWVudC5jb3JlLkNvbnN0YW50cy48Y2xpbml0PihDb25zdGFu dHMuamF2YTo1NSkNCiAgICAgICAgYXQgemEub3JnLmNvZWZmaWNpZW50LmNvcmUuQ29lZmZpY2ll bnRXZWJDb250ZXh0Ljxpbml0PihDb2VmZmljaWVudFdlYkNvDQpudGV4dC5qYXZhOjExMCkNCiAg ICAgICAgYXQgemEub3JnLmNvZWZmaWNpZW50LnNlcnZsZXQuQ29lZmZpY2llbnRTZXJ2bGV0LmV4 ZWN1dGUoQ29lZmZpY2llbnRTZXJ2DQpsZXQuamF2YToxNTEpDQogICAgICAgIGF0IHphLm9yZy5j b2VmZmljaWVudC5zZXJ2bGV0LkNvZWZmaWNpZW50U2VydmxldC5kb0dldChDb2VmZmljaWVudFNl cnZsZQ0KdC5qYXZhOjExOCkNCiAgICAgICAgYXQgamF2YXguc2VydmxldC5odHRwLkh0dHBTZXJ2 bGV0LnNlcnZpY2UoSHR0cFNlcnZsZXQuamF2YTo3NDApDQogICAgICAgIGF0IGphdmF4LnNlcnZs ZXQuaHR0cC5IdHRwU2VydmxldC5zZXJ2aWNlKEh0dHBTZXJ2bGV0LmphdmE6ODUzKQ0KICAgICAg ICBhdCBvcmcuYXBhY2hlLmNhdGFsaW5hLmNvcmUuQXBwbGljYXRpb25GaWx0ZXJDaGFpbi5pbnRl cm5hbERvRmlsdGVyKEFwcGwNCmljYXRpb25GaWx0ZXJDaGFpbi5qYXZhOjI0NykNCiAgICAgICAg YXQgb3JnLmFwYWNoZS5jYXRhbGluYS5jb3JlLkFwcGxpY2F0aW9uRmlsdGVyQ2hhaW4uZG9GaWx0 ZXIoQXBwbGljYXRpb25GDQppbHRlckNoYWluLmphdmE6MTkzKQ0KICAgICAgICBhdCBvcmcuYXBh Y2hlLmNhdGFsaW5hLmNvcmUuU3RhbmRhcmRXcmFwcGVyVmFsdmUuaW52b2tlKFN0YW5kYXJkV3Jh cHBlclYNCmFsdmUuamF2YToyNTYpDQogICAgICAgIGF0IG9yZy5hcGFjaGUuY2F0YWxpbmEuY29y ZS5TdGFuZGFyZFBpcGVsaW5lJFN0YW5kYXJkUGlwZWxpbmVWYWx2ZUNvbnRleA0KdC5pbnZva2VO ZXh0KFN0YW5kYXJkUGlwZWxpbmUuamF2YTo2NDMpDQogICAgICAgIGF0IG9yZy5hcGFjaGUuY2F0 YWxpbmEuY29yZS5TdGFuZGFyZFBpcGVsaW5lLmludm9rZShTdGFuZGFyZFBpcGVsaW5lLmphdg0K YTo0ODApDQogICAgICAgIGF0IG9yZy5hcGFjaGUuY2F0YWxpbmEuY29yZS5Db250YWluZXJCYXNl Lmludm9rZShDb250YWluZXJCYXNlLmphdmE6OTk1KQ0KDQogICAgICAgIGF0IG9yZy5hcGFjaGUu Y2F0YWxpbmEuY29yZS5TdGFuZGFyZENvbnRleHRWYWx2ZS5pbnZva2UoU3RhbmRhcmRDb250ZXh0 Vg0KYWx2ZS5qYXZhOjE5MSkNCiAgICAgICAgYXQgb3JnLmFwYWNoZS5jYXRhbGluYS5jb3JlLlN0 YW5kYXJkUGlwZWxpbmUkU3RhbmRhcmRQaXBlbGluZVZhbHZlQ29udGV4DQp0Lmludm9rZU5leHQo U3RhbmRhcmRQaXBlbGluZS5qYXZhOjY0MykNCiAgICAgICAgYXQgb3JnLmFwYWNoZS5jYXRhbGlu YS5jb3JlLlN0YW5kYXJkUGlwZWxpbmUuaW52b2tlKFN0YW5kYXJkUGlwZWxpbmUuamF2DQphOjQ4 MCkNCiAgICAgICAgYXQgb3JnLmFwYWNoZS5jYXRhbGluYS5jb3JlLkNvbnRhaW5lckJhc2UuaW52 b2tlKENvbnRhaW5lckJhc2UuamF2YTo5OTUpDQoNCiAgICAgICAgYXQgb3JnLmFwYWNoZS5jYXRh bGluYS5jb3JlLlN0YW5kYXJkQ29udGV4dC5pbnZva2UoU3RhbmRhcmRDb250ZXh0LmphdmE6DQoy NDE1KQ0KICAgICAgICBhdCBvcmcuYXBhY2hlLmNhdGFsaW5hLmNvcmUuU3RhbmRhcmRIb3N0VmFs dmUuaW52b2tlKFN0YW5kYXJkSG9zdFZhbHZlLmoNCmF2YToxODApDQogICAgICAgIGF0IG9yZy5h cGFjaGUuY2F0YWxpbmEuY29yZS5TdGFuZGFyZFBpcGVsaW5lJFN0YW5kYXJkUGlwZWxpbmVWYWx2 ZUNvbnRleA0KdC5pbnZva2VOZXh0KFN0YW5kYXJkUGlwZWxpbmUuamF2YTo2NDMpDQogICAgICAg IGF0IG9yZy5hcGFjaGUuY2F0YWxpbmEudmFsdmVzLkVycm9yRGlzcGF0Y2hlclZhbHZlLmludm9r ZShFcnJvckRpc3BhdGNoZQ0KclZhbHZlLmphdmE6MTcxKQ0KICAgICAgICBhdCBvcmcuYXBhY2hl LmNhdGFsaW5hLmNvcmUuU3RhbmRhcmRQaXBlbGluZSRTdGFuZGFyZFBpcGVsaW5lVmFsdmVDb250 ZXgNCnQuaW52b2tlTmV4dChTdGFuZGFyZFBpcGVsaW5lLmphdmE6NjQxKQ0KICAgICAgICBhdCBv cmcuYXBhY2hlLmNhdGFsaW5hLnZhbHZlcy5FcnJvclJlcG9ydFZhbHZlLmludm9rZShFcnJvclJl cG9ydFZhbHZlLmoNCmF2YToxNzIpDQogICAgICAgIGF0IG9yZy5hcGFjaGUuY2F0YWxpbmEuY29y ZS5TdGFuZGFyZFBpcGVsaW5lJFN0YW5kYXJkUGlwZWxpbmVWYWx2ZUNvbnRleA0KdC5pbnZva2VO ZXh0KFN0YW5kYXJkUGlwZWxpbmUuamF2YTo2NDEpDQogICAgICAgIGF0IG9yZy5hcGFjaGUuY2F0 YWxpbmEuY29yZS5TdGFuZGFyZFBpcGVsaW5lLmludm9rZShTdGFuZGFyZFBpcGVsaW5lLmphdg0K YTo0ODApDQogICAgICAgIGF0IG9yZy5hcGFjaGUuY2F0YWxpbmEuY29yZS5Db250YWluZXJCYXNl Lmludm9rZShDb250YWluZXJCYXNlLmphdmE6OTk1KQ0KDQogICAgICAgIGF0IG9yZy5hcGFjaGUu Y2F0YWxpbmEuY29yZS5TdGFuZGFyZEVuZ2luZVZhbHZlLmludm9rZShTdGFuZGFyZEVuZ2luZVZh bA0KdmUuamF2YToxNzQpDQogICAgICAgIGF0IG9yZy5hcGFjaGUuY2F0YWxpbmEuY29yZS5TdGFu ZGFyZFBpcGVsaW5lJFN0YW5kYXJkUGlwZWxpbmVWYWx2ZUNvbnRleA0KdC5pbnZva2VOZXh0KFN0 YW5kYXJkUGlwZWxpbmUuamF2YTo2NDMpDQogICAgICAgIGF0IG9yZy5hcGFjaGUuY2F0YWxpbmEu Y29yZS5TdGFuZGFyZFBpcGVsaW5lLmludm9rZShTdGFuZGFyZFBpcGVsaW5lLmphdg0KYTo0ODAp DQogICAgICAgIGF0IG9yZy5hcGFjaGUuY2F0YWxpbmEuY29yZS5Db250YWluZXJCYXNlLmludm9r ZShDb250YWluZXJCYXNlLmphdmE6OTk1KQ0KDQogICAgICAgIGF0IG9yZy5hcGFjaGUuY295b3Rl LnRvbWNhdDQuQ295b3RlQWRhcHRlci5zZXJ2aWNlKENveW90ZUFkYXB0ZXIuamF2YToyMg0KMykN CiAgICAgICAgYXQgb3JnLmFwYWNoZS5jb3lvdGUuaHR0cDExLkh0dHAxMVByb2Nlc3Nvci5wcm9j ZXNzKEh0dHAxMVByb2Nlc3Nvci5qYXZhDQo6NTk0KQ0KICAgICAgICBhdCBvcmcuYXBhY2hlLmNv eW90ZS5odHRwMTEuSHR0cDExUHJvdG9jb2wkSHR0cDExQ29ubmVjdGlvbkhhbmRsZXIucHJvY2UN CnNzQ29ubmVjdGlvbihIdHRwMTFQcm90b2NvbC5qYXZhOjM5MikNCiAgICAgICAgYXQgb3JnLmFw YWNoZS50b21jYXQudXRpbC5uZXQuVGNwV29ya2VyVGhyZWFkLnJ1bkl0KFBvb2xUY3BFbmRwb2lu dC5qYXZhDQo6NTY1KQ0KICAgICAgICBhdCBvcmcuYXBhY2hlLnRvbWNhdC51dGlsLnRocmVhZHMu VGhyZWFkUG9vbCRDb250cm9sUnVubmFibGUucnVuKFRo... [truncated message content] |
From: Thomas F. <tfo...@us...> - 2005-01-25 15:29:46
|
On Tue, 2005-01-25 at 14:37 +0100, sebastien wrote: > Actually it seems that the connection to the database is working > because some tables have been automatically > created. Also in the catalina logs I can see that tables have been > found. Sorry, I didn't read your stacktrace properly :) Are there any other exceptions logged in the log files? Could you also check that coefficient correctly inserted the default data (i.e. see what data you have in tables coefficient_role, coefficient_user, etc). See: src/za/org/coefficient/util/ejb/DataLoaderUtil.java (which is used by the HibernateUtil to load the default data) It looks like usersHighestRole is null in Configuration.canExecuteForRole(...) This should not be null, because it is set to SecurityUtil.getRoleForDescription(GUEST_ROLE_DESC) which can only be null if: - the default data wasn't properly loaded, or - the data could not be read from the db (unlikely) In either case, an exception should be logged (although, in the first case, this would have been at db init/creation time, and possibly overwritten in the logs). If the problem is that default data is missing, you could try dropping the database and restarting tomcat, so that hibernate will recreate the tables (and reload the data). Cheers T -- This message has been scanned for viruses and dangerous content by MailScanner, and is believed to be clean. MailScanner thanks transtec Computers for their support. |
From: <seb...@ph...> - 2005-01-25 13:38:05
|
MjUtSmFuLTIwMDUgMTQ6MTU6MTkgb3JnLmFwYWNoZS5jb21tb25zLm1vZGVsZXIuUmVnaXN0cnkg bG9hZFJlZ2lzdHJ5DQpJTkZPOiBMb2FkaW5nIHJlZ2lzdHJ5IGluZm9ybWF0aW9uDQoyNS1KYW4t MjAwNSAxNDoxNToxOSBvcmcuYXBhY2hlLmNvbW1vbnMubW9kZWxlci5SZWdpc3RyeSBnZXRSZWdp c3RyeQ0KSU5GTzogQ3JlYXRpbmcgbmV3IFJlZ2lzdHJ5IGluc3RhbmNlDQoyNS1KYW4tMjAwNSAx NDoxNToxOSBvcmcuYXBhY2hlLmNvbW1vbnMubW9kZWxlci5SZWdpc3RyeSBnZXRTZXJ2ZXINCklO Rk86IENyZWF0aW5nIE1CZWFuU2VydmVyDQoyNS1KYW4tMjAwNSAxNDoxNToyMSBvcmcuYXBhY2hl LmNveW90ZS5odHRwMTEuSHR0cDExUHJvdG9jb2wgaW5pdA0KSU5GTzogSW5pdGlhbGl6aW5nIENv eW90ZSBIVFRQLzEuMSBvbiBwb3J0IDgwODANClN0YXJ0aW5nIHNlcnZpY2UgVG9tY2F0LVN0YW5k YWxvbmUNCkFwYWNoZSBUb21jYXQvNC4xLjI0DQoyNS1KYW4tMjAwNSAxNDoxNjoxNSBvcmcuYXBh Y2hlLmNveW90ZS5odHRwMTEuSHR0cDExUHJvdG9jb2wgc3RhcnQNCklORk86IFN0YXJ0aW5nIENv eW90ZSBIVFRQLzEuMSBvbiBwb3J0IDgwODANCjI1LUphbi0yMDA1IDE0OjE2OjE1IG9yZy5hcGFj aGUuamsuY29tbW9uLkNoYW5uZWxTb2NrZXQgaW5pdA0KSU5GTzogSksyOiBhanAxMyBsaXN0ZW5p bmcgb24gLzAuMC4wLjA6ODAwOQ0KMjUtSmFuLTIwMDUgMTQ6MTY6MTUgb3JnLmFwYWNoZS5qay5z ZXJ2ZXIuSmtNYWluIHN0YXJ0DQpJTkZPOiBKayBydW5uaW5nIElEPTAgdGltZT0yMC83MCAgY29u ZmlnPUM6XFByb2dyYW0gRmlsZXNcQXBhY2hlIEdyb3VwXFRvbWNhdCA0Lg0KMVxiaW5cLi5cY29u ZlxqazIucHJvcGVydGllcw0KbG9nNGo6V0FSTiBObyBhcHBlbmRlcnMgY291bGQgYmUgZm91bmQg Zm9yIGxvZ2dlciAoemEub3JnLmNvZWZmaWNpZW50LnNlcnZsZXQuQ28NCmVmZmljaWVudFNlcnZs ZXQpLg0KbG9nNGo6V0FSTiBQbGVhc2UgaW5pdGlhbGl6ZSB0aGUgbG9nNGogc3lzdGVtIHByb3Bl cmx5Lg0KMTc2MyBbVGhyZWFkLTVdIElORk8gY2ZnLkVudmlyb25tZW50ICAtIEhpYmVybmF0ZSAy LjEuNw0KMTkwMyBbVGhyZWFkLTVdIElORk8gY2ZnLkVudmlyb25tZW50ICAtIGxvYWRlZCBwcm9w ZXJ0aWVzIGZyb20gcmVzb3VyY2UgaGliZXJuYXQNCmUucHJvcGVydGllczoge2hpYmVybmF0ZS5j b25uZWN0aW9uLnVzZXJuYW1lPWNvZWZmaWNpZW50LCBoaWJlcm5hdGUuY29ubmVjdGlvbi5wDQph c3N3b3JkPWNvZWZmaWNpZW50LCBoaWJlcm5hdGUuY2dsaWIudXNlX3JlZmxlY3Rpb25fb3B0aW1p emVyPXRydWUsIGhpYmVybmF0ZS5jbw0Kbm5lY3Rpb24ucG9vbF9zaXplPTIsIGhpYmVybmF0ZS5k aWFsZWN0PW5ldC5zZi5oaWJlcm5hdGUuZGlhbGVjdC5NeVNRTERpYWxlY3QsIGgNCmliZXJuYXRl LmNvbm5lY3Rpb24udXJsPWpkYmM6bXlzcWw6Ly8xMjcuMC4wLjE6MzMwNi9jb2VmZmljaWVudCwg aGliZXJuYXRlLmNvbm5lDQpjdGlvbi5kcml2ZXJfY2xhc3M9b3JnLmdqdC5tbS5teXNxbC5Ecml2 ZXJ9DQoxOTAzIFtUaHJlYWQtNV0gSU5GTyBjZmcuRW52aXJvbm1lbnQgIC0gdXNpbmcgQ0dMSUIg cmVmbGVjdGlvbiBvcHRpbWl6ZXINCjE5MTMgW1RocmVhZC01XSBJTkZPIGNmZy5FbnZpcm9ubWVu dCAgLSB1c2luZyBKREsgMS40IGphdmEuc3FsLlRpbWVzdGFtcCBoYW5kbGluDQpnDQoxOTIzIFtU aHJlYWQtNV0gSU5GTyBjZmcuQ29uZmlndXJhdGlvbiAgLSBNYXBwaW5nIHJlc291cmNlOiB6YS9v cmcvY29lZmZpY2llbnQvcw0KdGF0aXN0aWNzL2RhdGEvTW9kdWxlU3RhdGlzdGljc0RhdGEuaGJt LnhtbA0KMjAzMyBbVGhyZWFkLTVdIFdBUk4gdXRpbC5YTUxIZWxwZXIgIC0gV2FybmluZyBwYXJz aW5nIFhNTDogWE1MIElucHV0U3RyZWFtKDEpIFUNClJJIHdhcyBub3QgcmVwb3J0ZWQgdG8gcGFy c2VyIGZvciBlbnRpdHkgW2RvY3VtZW50XQ0KMjA2MyBbVGhyZWFkLTVdIFdBUk4gdXRpbC5YTUxI ZWxwZXIgIC0gV2FybmluZyBwYXJzaW5nIFhNTDogWE1MIElucHV0U3RyZWFtKDUpIE4NCm8gYmFz ZSBVUkk7IGhvcGUgVVJJIGlzIGFic29sdXRlOiBodHRwOi8vaGliZXJuYXRlLnNvdXJjZWZvcmdl Lm5ldC9oaWJlcm5hdGUtbWFwDQpwaW5nLTIuMC5kdGQNCjIwODMgW1RocmVhZC01XSBXQVJOIHV0 aWwuWE1MSGVscGVyICAtIFdhcm5pbmcgcGFyc2luZyBYTUw6IFhNTCBJbnB1dFN0cmVhbSg1KSBO DQpvIGJhc2UgVVJJOyBob3BlIHRoaXMgU1lTVEVNIGlkIGlzIGFic29sdXRlOiBodHRwOi8vaGli ZXJuYXRlLnNvdXJjZWZvcmdlLm5ldC9oaQ0KYmVybmF0ZS1tYXBwaW5nLTIuMC5kdGQNCjIzMDMg W1RocmVhZC01XSBJTkZPIGNmZy5CaW5kZXIgIC0gTWFwcGluZyBjbGFzczogemEub3JnLmNvZWZm aWNpZW50LnN0YXRpc3RpY3MuDQpkYXRhLk1vZHVsZVN0YXRpc3RpY3NEYXRhIC0+IENPRUZGSUNJ RU5UX01PRFVMRV9TVEFUSVNUSUNTX0RBVEENCjIzODMgW1RocmVhZC01XSBJTkZPIGNmZy5Db25m aWd1cmF0aW9uICAtIE1hcHBpbmcgcmVzb3VyY2U6IHphL29yZy9jb2VmZmljaWVudC9zDQp0YXRp c3RpY3MvZGF0YS9Nb2R1bGVTdGF0aXN0aWNzLmhibS54bWwNCjI0MjMgW1RocmVhZC01XSBXQVJO IHV0aWwuWE1MSGVscGVyICAtIFdhcm5pbmcgcGFyc2luZyBYTUw6IFhNTCBJbnB1dFN0cmVhbSgx KSBVDQpSSSB3YXMgbm90IHJlcG9ydGVkIHRvIHBhcnNlciBmb3IgZW50aXR5IFtkb2N1bWVudF0N CjI0MjMgW1RocmVhZC01XSBXQVJOIHV0aWwuWE1MSGVscGVyICAtIFdhcm5pbmcgcGFyc2luZyBY TUw6IFhNTCBJbnB1dFN0cmVhbSg1KSBODQpvIGJhc2UgVVJJOyBob3BlIFVSSSBpcyBhYnNvbHV0 ZTogaHR0cDovL2hpYmVybmF0ZS5zb3VyY2Vmb3JnZS5uZXQvaGliZXJuYXRlLW1hcA0KcGluZy0y LjAuZHRkDQoyNDIzIFtUaHJlYWQtNV0gV0FSTiB1dGlsLlhNTEhlbHBlciAgLSBXYXJuaW5nIHBh cnNpbmcgWE1MOiBYTUwgSW5wdXRTdHJlYW0oNSkgTg0KbyBiYXNlIFVSSTsgaG9wZSB0aGlzIFNZ U1RFTSBpZCBpcyBhYnNvbHV0ZTogaHR0cDovL2hpYmVybmF0ZS5zb3VyY2Vmb3JnZS5uZXQvaGkN CmJlcm5hdGUtbWFwcGluZy0yLjAuZHRkDQoyNDMzIFtUaHJlYWQtNV0gSU5GTyBjZmcuQmluZGVy ICAtIE1hcHBpbmcgY2xhc3M6IHphLm9yZy5jb2VmZmljaWVudC5zdGF0aXN0aWNzLg0KZGF0YS5N b2R1bGVTdGF0aXN0aWNzIC0+IENPRUZGSUNJRU5UX01PRFVMRV9TVEFUSVNUSUNTDQoyNDU0IFtU aHJlYWQtNV0gSU5GTyBjZmcuQmluZGVyICAtIE1hcHBpbmcgY29sbGVjdGlvbjogemEub3JnLmNv ZWZmaWNpZW50LnN0YXRpcw0KdGljcy5kYXRhLk1vZHVsZVN0YXRpc3RpY3MuYXJjaGl2ZSAtPiBD T0VGRklDSUVOVF9NT0RVTEVfU1RBVElTVElDU19BUkNISVZFDQoyNDY0IFtUaHJlYWQtNV0gSU5G TyBjZmcuQ29uZmlndXJhdGlvbiAgLSBNYXBwaW5nIHJlc291cmNlOiB6YS9vcmcvY29lZmZpY2ll bnQvcw0KdGF0aXN0aWNzL2RhdGEvUHJvamVjdFN0YXRpc3RpY3NEYXRhLmhibS54bWwNCjI1MDQg W1RocmVhZC01XSBXQVJOIHV0aWwuWE1MSGVscGVyICAtIFdhcm5pbmcgcGFyc2luZyBYTUw6IFhN TCBJbnB1dFN0cmVhbSgxKSBVDQpSSSB3YXMgbm90IHJlcG9ydGVkIHRvIHBhcnNlciBmb3IgZW50 aXR5IFtkb2N1bWVudF0NCjI1MDQgW1RocmVhZC01XSBXQVJOIHV0aWwuWE1MSGVscGVyICAtIFdh cm5pbmcgcGFyc2luZyBYTUw6IFhNTCBJbnB1dFN0cmVhbSg1KSBODQpvIGJhc2UgVVJJOyBob3Bl IFVSSSBpcyBhYnNvbHV0ZTogaHR0cDovL2hpYmVybmF0ZS5zb3VyY2Vmb3JnZS5uZXQvaGliZXJu YXRlLW1hcA0KcGluZy0yLjAuZHRkDQoyNTA0IFtUaHJlYWQtNV0gV0FSTiB1dGlsLlhNTEhlbHBl ciAgLSBXYXJuaW5nIHBhcnNpbmcgWE1MOiBYTUwgSW5wdXRTdHJlYW0oNSkgTg0KbyBiYXNlIFVS STsgaG9wZSB0aGlzIFNZU1RFTSBpZCBpcyBhYnNvbHV0ZTogaHR0cDovL2hpYmVybmF0ZS5zb3Vy Y2Vmb3JnZS5uZXQvaGkNCmJlcm5hdGUtbWFwcGluZy0yLjAuZHRkDQoyNTM0IFtUaHJlYWQtNV0g SU5GTyBjZmcuQmluZGVyICAtIE1hcHBpbmcgY2xhc3M6IHphLm9yZy5jb2VmZmljaWVudC5zdGF0 aXN0aWNzLg0KZGF0YS5Qcm9qZWN0U3RhdGlzdGljc0RhdGEgLT4gQ09FRkZJQ0lFTlRfUFJPSkVD VF9TVEFUSVNUSUNTX0RBVEENCjI1MzQgW1RocmVhZC01XSBJTkZPIGNmZy5Db25maWd1cmF0aW9u ICAtIE1hcHBpbmcgcmVzb3VyY2U6IHphL29yZy9jb2VmZmljaWVudC9zDQp0YXRpc3RpY3MvZGF0 YS9Qcm9qZWN0U3RhdGlzdGljcy5oYm0ueG1sDQoyNjM0IFtUaHJlYWQtNV0gV0FSTiB1dGlsLlhN TEhlbHBlciAgLSBXYXJuaW5nIHBhcnNpbmcgWE1MOiBYTUwgSW5wdXRTdHJlYW0oMSkgVQ0KUkkg d2FzIG5vdCByZXBvcnRlZCB0byBwYXJzZXIgZm9yIGVudGl0eSBbZG9jdW1lbnRdDQoyNjM0IFtU aHJlYWQtNV0gV0FSTiB1dGlsLlhNTEhlbHBlciAgLSBXYXJuaW5nIHBhcnNpbmcgWE1MOiBYTUwg SW5wdXRTdHJlYW0oNSkgTg0KbyBiYXNlIFVSSTsgaG9wZSBVUkkgaXMgYWJzb2x1dGU6IGh0dHA6 Ly9oaWJlcm5hdGUuc291cmNlZm9yZ2UubmV0L2hpYmVybmF0ZS1tYXANCnBpbmctMi4wLmR0ZA0K MjYzNCBbVGhyZWFkLTVdIFdBUk4gdXRpbC5YTUxIZWxwZXIgIC0gV2FybmluZyBwYXJzaW5nIFhN TDogWE1MIElucHV0U3RyZWFtKDUpIE4NCm8gYmFzZSBVUkk7IGhvcGUgdGhpcyBTWVNURU0gaWQg aXMgYWJzb2x1dGU6IGh0dHA6Ly9oaWJlcm5hdGUuc291cmNlZm9yZ2UubmV0L2hpDQpiZXJuYXRl LW1hcHBpbmctMi4wLmR0ZA0KMjY2NCBbVGhyZWFkLTVdIElORk8gY2ZnLkJpbmRlciAgLSBNYXBw aW5nIGNsYXNzOiB6YS5vcmcuY29lZmZpY2llbnQuc3RhdGlzdGljcy4NCmRhdGEuUHJvamVjdFN0 YXRpc3RpY3MgLT4gQ09FRkZJQ0lFTlRfUFJPSkVDVF9TVEFUSVNUSUNTDQoyNjY0IFtUaHJlYWQt NV0gSU5GTyBjZmcuQmluZGVyICAtIE1hcHBpbmcgY29sbGVjdGlvbjogemEub3JnLmNvZWZmaWNp ZW50LnN0YXRpcw0KdGljcy5kYXRhLlByb2plY3RTdGF0aXN0aWNzLm1vZHVsZVN0YXRpc3RpY3Mg LT4gQ09FRkZJQ0lFTlRfUFJPSkVDVF9TVEFUSVNUSUNTX00NCk9EVUxFX1NUQVRJU1RJQ1MNCjI2 NjQgW1RocmVhZC01XSBJTkZPIGNmZy5CaW5kZXIgIC0gTWFwcGluZyBjb2xsZWN0aW9uOiB6YS5v cmcuY29lZmZpY2llbnQuc3RhdGlzDQp0aWNzLmRhdGEuUHJvamVjdFN0YXRpc3RpY3MuYXJjaGl2 ZSAtPiBDT0VGRklDSUVOVF9QUk9KRUNUX1NUQVRJU1RJQ1NfQVJDSElWRQ0KMjY3NCBbVGhyZWFk LTVdIElORk8gY2ZnLkNvbmZpZ3VyYXRpb24gIC0gTWFwcGluZyByZXNvdXJjZTogemEvb3JnL2Nv ZWZmaWNpZW50L2MNCm9yZS9Qcm9qZWN0LmhibS54bWwNCjI3OTQgW1RocmVhZC01XSBXQVJOIHV0 aWwuWE1MSGVscGVyICAtIFdhcm5pbmcgcGFyc2luZyBYTUw6IFhNTCBJbnB1dFN0cmVhbSgxKSBV DQpSSSB3YXMgbm90IHJlcG9ydGVkIHRvIHBhcnNlciBmb3IgZW50aXR5IFtkb2N1bWVudF0NCjI4 MDQgW1RocmVhZC01XSBXQVJOIHV0aWwuWE1MSGVscGVyICAtIFdhcm5pbmcgcGFyc2luZyBYTUw6 IFhNTCBJbnB1dFN0cmVhbSg1KSBODQpvIGJhc2UgVVJJOyBob3BlIFVSSSBpcyBhYnNvbHV0ZTog aHR0cDovL2hpYmVybmF0ZS5zb3VyY2Vmb3JnZS5uZXQvaGliZXJuYXRlLW1hcA0KcGluZy0yLjAu ZHRkDQoyODA0IFtUaHJlYWQtNV0gV0FSTiB1dGlsLlhNTEhlbHBlciAgLSBXYXJuaW5nIHBhcnNp bmcgWE1MOiBYTUwgSW5wdXRTdHJlYW0oNSkgTg0KbyBiYXNlIFVSSTsgaG9wZSB0aGlzIFNZU1RF TSBpZCBpcyBhYnNvbHV0ZTogaHR0cDovL2hpYmVybmF0ZS5zb3VyY2Vmb3JnZS5uZXQvaGkNCmJl cm5hdGUtbWFwcGluZy0yLjAuZHRkDQoyODE0IFtUaHJlYWQtNV0gSU5GTyBjZmcuQmluZGVyICAt IE1hcHBpbmcgY2xhc3M6IHphLm9yZy5jb2VmZmljaWVudC5jb3JlLlByb2plYw0KdCAtPiBDT0VG RklDSUVOVF9QUk9KRUNUDQoyODE0IFtUaHJlYWQtNV0gSU5GTyBjZmcuQmluZGVyICAtIE1hcHBp bmcgY29sbGVjdGlvbjogemEub3JnLmNvZWZmaWNpZW50LmNvcmUuUA0Kcm9qZWN0LmF0dHJpYnV0 ZURhdGEgLT4gQ09FRkZJQ0lFTlRfUFJPSkVDVF9BVFRSSUJVVEVTX0RBVEENCjI5OTQgW1RocmVh ZC01XSBJTkZPIGNmZy5CaW5kZXIgIC0gTWFwcGluZyBjb2xsZWN0aW9uOiB6YS5vcmcuY29lZmZp Y2llbnQuY29yZS5QDQpyb2plY3QuYXR0cmlidXRlcyAtPiBDT0VGRklDSUVOVF9QUk9KRUNUX0FU VFJJQlVURVMNCjI5OTQgW1RocmVhZC01XSBJTkZPIGNmZy5CaW5kZXIgIC0gTWFwcGluZyBjb2xs ZWN0aW9uOiB6YS5vcmcuY29lZmZpY2llbnQuY29yZS5QDQpyb2plY3QuY2F0ZWdvcmllcyAtPiBD T0VGRklDSUVOVF9QUk9KRUNUX0NBVEVHT1JJRVMNCjI5OTQgW1RocmVhZC01XSBJTkZPIGNmZy5C aW5kZXIgIC0gTWFwcGluZyBjb2xsZWN0aW9uOiB6YS5vcmcuY29lZmZpY2llbnQuY29yZS5QDQpy b2plY3QubWVtYmVycyAtPiBDT0VGRklDSUVOVF9QUk9KRUNUX01FTUJFUlMNCjI5OTQgW1RocmVh ZC01XSBJTkZPIGNmZy5CaW5kZXIgIC0gTWFwcGluZyBjb2xsZWN0aW9uOiB6YS5vcmcuY29lZmZp Y2llbnQuY29yZS5QDQpyb2plY3QubWVtYmVyc1BlbmRpbmcgLT4gQ09FRkZJQ0lFTlRfUFJPSkVD VF9QRU5ESU5HX01FTUJFUlMNCjI5OTQgW1RocmVhZC01XSBJTkZPIGNmZy5CaW5kZXIgIC0gTWFw cGluZyBjb2xsZWN0aW9uOiB6YS5vcmcuY29lZmZpY2llbnQuY29yZS5QDQpyb2plY3QubW9kdWxl cyAtPiBDT0VGRklDSUVOVF9QUk9KRUNUX01PRFVMRVMNCjI5OTQgW1RocmVhZC01XSBJTkZPIGNm Zy5CaW5kZXIgIC0gTWFwcGluZyBjb2xsZWN0aW9uOiB6YS5vcmcuY29lZmZpY2llbnQuY29yZS5Q DQpyb2plY3QudmVyc2lvbnMgLT4gQ09FRkZJQ0lFTlRfUFJPSkVDVF9WRVJTSU9OUw0KMjk5NCBb VGhyZWFkLTVdIElORk8gY2ZnLkJpbmRlciAgLSBNYXBwaW5nIGNvbGxlY3Rpb246IHphLm9yZy5j b2VmZmljaWVudC5jb3JlLlANCnJvamVjdC5jb21wb25lbnRzIC0+IENPRUZGSUNJRU5UX1BST0pF Q1RfQ09NUE9ORU5UUw0KMjk5NCBbVGhyZWFkLTVdIElORk8gY2ZnLkNvbmZpZ3VyYXRpb24gIC0g TWFwcGluZyByZXNvdXJjZTogemEvb3JnL2NvZWZmaWNpZW50L2MNCm9yZS9DYXRlZ29yeS5oYm0u eG1sDQozMDg0IFtUaHJlYWQtNV0gV0FSTiB1dGlsLlhNTEhlbHBlciAgLSBXYXJuaW5nIHBhcnNp bmcgWE1MOiBYTUwgSW5wdXRTdHJlYW0oMSkgVQ0KUkkgd2FzIG5vdCByZXBvcnRlZCB0byBwYXJz ZXIgZm9yIGVudGl0eSBbZG9jdW1lbnRdDQozMDg0IFtUaHJlYWQtNV0gV0FSTiB1dGlsLlhNTEhl bHBlciAgLSBXYXJuaW5nIHBhcnNpbmcgWE1MOiBYTUwgSW5wdXRTdHJlYW0oNSkgTg0KbyBiYXNl IFVSSTsgaG9wZSBVUkkgaXMgYWJzb2x1dGU6IGh0dHA6Ly9oaWJlcm5hdGUuc291cmNlZm9yZ2Uu bmV0L2hpYmVybmF0ZS1tYXANCnBpbmctMi4wLmR0ZA0KMzA4NCBbVGhyZWFkLTVdIFdBUk4gdXRp bC5YTUxIZWxwZXIgIC0gV2FybmluZyBwYXJzaW5nIFhNTDogWE1MIElucHV0U3RyZWFtKDUpIE4N Cm8gYmFzZSBVUkk7IGhvcGUgdGhpcyBTWVNURU0gaWQgaXMgYWJzb2x1dGU6IGh0dHA6Ly9oaWJl cm5hdGUuc291cmNlZm9yZ2UubmV0L2hpDQpiZXJuYXRlLW1hcHBpbmctMi4wLmR0ZA0KMzA5NCBb VGhyZWFkLTVdIElORk8gY2ZnLkJpbmRlciAgLSBNYXBwaW5nIGNsYXNzOiB6YS5vcmcuY29lZmZp Y2llbnQuY29yZS5DYXRlZ28NCnJ5IC0+IENPRUZGSUNJRU5UX0NBVEVHT1JZDQozMDk0IFtUaHJl YWQtNV0gSU5GTyBjZmcuQ29uZmlndXJhdGlvbiAgLSBNYXBwaW5nIHJlc291cmNlOiB6YS9vcmcv Y29lZmZpY2llbnQvYw0Kb3JlL1Byb2plY3RBdHRyaWJ1dGUuaGJtLnhtbA0KMzEzNSBbVGhyZWFk LTVdIFdBUk4gdXRpbC5YTUxIZWxwZXIgIC0gV2FybmluZyBwYXJzaW5nIFhNTDogWE1MIElucHV0 U3RyZWFtKDEpIFUNClJJIHdhcyBub3QgcmVwb3J0ZWQgdG8gcGFyc2VyIGZvciBlbnRpdHkgW2Rv Y3VtZW50XQ0KMzEzNSBbVGhyZWFkLTVdIFdBUk4gdXRpbC5YTUxIZWxwZXIgIC0gV2FybmluZyBw YXJzaW5nIFhNTDogWE1MIElucHV0U3RyZWFtKDUpIE4NCm8gYmFzZSBVUkk7IGhvcGUgVVJJIGlz IGFic29sdXRlOiBodHRwOi8vaGliZXJuYXRlLnNvdXJjZWZvcmdlLm5ldC9oaWJlcm5hdGUtbWFw DQpwaW5nLTIuMC5kdGQNCjMxMzUgW1RocmVhZC01XSBXQVJOIHV0aWwuWE1MSGVscGVyICAtIFdh cm5pbmcgcGFyc2luZyBYTUw6IFhNTCBJbnB1dFN0cmVhbSg1KSBODQpvIGJhc2UgVVJJOyBob3Bl IHRoaXMgU1lTVEVNIGlkIGlzIGFic29sdXRlOiBodHRwOi8vaGliZXJuYXRlLnNvdXJjZWZvcmdl Lm5ldC9oaQ0KYmVybmF0ZS1tYXBwaW5nLTIuMC5kdGQNCjMxNDUgW1RocmVhZC01XSBJTkZPIGNm Zy5CaW5kZXIgIC0gTWFwcGluZyBjbGFzczogemEub3JnLmNvZWZmaWNpZW50LmNvcmUuUHJvamVj DQp0QXR0cmlidXRlIC0+IENPRUZGSUNJRU5UX0FUVFJJQlVURQ0KMzE0NSBbVGhyZWFkLTVdIElO Rk8gY2ZnLkJpbmRlciAgLSBNYXBwaW5nIGNvbGxlY3Rpb246IHphLm9yZy5jb2VmZmljaWVudC5j b3JlLlANCnJvamVjdEF0dHJpYnV0ZS5lbGVtZW50cyAtPiBDT0VGRklDSUVOVF9BVFRSSUJVVEVf RUxFTUVOVFMNCjMxNDUgW1RocmVhZC01XSBJTkZPIGNmZy5Db25maWd1cmF0aW9uICAtIE1hcHBp bmcgcmVzb3VyY2U6IHphL29yZy9jb2VmZmljaWVudC9jDQpvcmUvUHJvamVjdEF0dHJpYnV0ZURh dGEuaGJtLnhtbA0KMzE4NSBbVGhyZWFkLTVdIFdBUk4gdXRpbC5YTUxIZWxwZXIgIC0gV2Fybmlu ZyBwYXJzaW5nIFhNTDogWE1MIElucHV0U3RyZWFtKDEpIFUNClJJIHdhcyBub3QgcmVwb3J0ZWQg dG8gcGFyc2VyIGZvciBlbnRpdHkgW2RvY3VtZW50XQ0KMzE4NSBbVGhyZWFkLTVdIFdBUk4gdXRp bC5YTUxIZWxwZXIgIC0gV2FybmluZyBwYXJzaW5nIFhNTDogWE1MIElucHV0U3RyZWFtKDUpIE4N Cm8gYmFzZSBVUkk7IGhvcGUgVVJJIGlzIGFic29sdXRlOiBodHRwOi8vaGliZXJuYXRlLnNvdXJj ZWZvcmdlLm5ldC9oaWJlcm5hdGUtbWFwDQpwaW5nLTIuMC5kdGQNCjMxODUgW1RocmVhZC01XSBX QVJOIHV0aWwuWE1MSGVscGVyICAtIFdhcm5pbmcgcGFyc2luZyBYTUw6IFhNTCBJbnB1dFN0cmVh bSg1KSBODQpvIGJhc2UgVVJJOyBob3BlIHRoaXMgU1lTVEVNIGlkIGlzIGFic29sdXRlOiBodHRw Oi8vaGliZXJuYXRlLnNvdXJjZWZvcmdlLm5ldC9oaQ0KYmVybmF0ZS1tYXBwaW5nLTIuMC5kdGQN CjMxOTUgW1RocmVhZC01XSBJTkZPIGNmZy5CaW5kZXIgIC0gTWFwcGluZyBjbGFzczogemEub3Jn LmNvZWZmaWNpZW50LmNvcmUuUHJvamVjDQp0QXR0cmlidXRlRGF0YSAtPiBDT0VGRklDSUVOVF9B VFRSSUJVVEVfREFUQQ0KMzE5NSBbVGhyZWFkLTVdIElORk8gY2ZnLkNvbmZpZ3VyYXRpb24gIC0g TWFwcGluZyByZXNvdXJjZTogemEvb3JnL2NvZWZmaWNpZW50L2MNCm9yZS9Qcm9qZWN0Q29tcG9u ZW50LmhibS54bWwNCjMyNDUgW1RocmVhZC01XSBXQVJOIHV0aWwuWE1MSGVscGVyICAtIFdhcm5p bmcgcGFyc2luZyBYTUw6IFhNTCBJbnB1dFN0cmVhbSgxKSBVDQpSSSB3YXMgbm90IHJlcG9ydGVk IHRvIHBhcnNlciBmb3IgZW50aXR5IFtkb2N1bWVudF0NCjMyNDUgW1RocmVhZC01XSBXQVJOIHV0 aWwuWE1MSGVscGVyICAtIFdhcm5pbmcgcGFyc2luZyBYTUw6IFhNTCBJbnB1dFN0cmVhbSg1KSBO DQpvIGJhc2UgVVJJOyBob3BlIFVSSSBpcyBhYnNvbHV0ZTogaHR0cDovL2hpYmVybmF0ZS5zb3Vy Y2Vmb3JnZS5uZXQvaGliZXJuYXRlLW1hcA0KcGluZy0yLjAuZHRkDQozMjQ1IFtUaHJlYWQtNV0g V0FSTiB1dGlsLlhNTEhlbHBlciAgLSBXYXJuaW5nIHBhcnNpbmcgWE1MOiBYTUwgSW5wdXRTdHJl YW0oNSkgTg0KbyBiYXNlIFVSSTsgaG9wZSB0aGlzIFNZU1RFTSBpZCBpcyBhYnNvbHV0ZTogaHR0 cDovL2hpYmVybmF0ZS5zb3VyY2Vmb3JnZS5uZXQvaGkNCmJlcm5hdGUtbWFwcGluZy0yLjAuZHRk DQozMjU1IFtUaHJlYWQtNV0gSU5GTyBjZmcuQmluZGVyICAtIE1hcHBpbmcgY2xhc3M6IHphLm9y Zy5jb2VmZmljaWVudC5jb3JlLlByb2plYw0KdENvbXBvbmVudCAtPiBDT0VGRklDSUVOVF9DT01Q T05FTlQNCjMyNTUgW1RocmVhZC01XSBJTkZPIGNmZy5Db25maWd1cmF0aW9uICAtIE1hcHBpbmcg cmVzb3VyY2U6IHphL29yZy9jb2VmZmljaWVudC9jDQpvcmUvUHJvamVjdFZlcnNpb24uaGJtLnht bA0KMzM5NSBbVGhyZWFkLTVdIFdBUk4gdXRpbC5YTUxIZWxwZXIgIC0gV2FybmluZyBwYXJzaW5n IFhNTDogWE1MIElucHV0U3RyZWFtKDEpIFUNClJJIHdhcyBub3QgcmVwb3J0ZWQgdG8gcGFyc2Vy IGZvciBlbnRpdHkgW2RvY3VtZW50XQ0KMzM5NSBbVGhyZWFkLTVdIFdBUk4gdXRpbC5YTUxIZWxw ZXIgIC0gV2FybmluZyBwYXJzaW5nIFhNTDogWE1MIElucHV0U3RyZWFtKDUpIE4NCm8gYmFzZSBV Ukk7IGhvcGUgVVJJIGlzIGFic29sdXRlOiBodHRwOi8vaGliZXJuYXRlLnNvdXJjZWZvcmdlLm5l dC9oaWJlcm5hdGUtbWFwDQpwaW5nLTIuMC5kdGQNCjMzOTUgW1RocmVhZC01XSBXQVJOIHV0aWwu WE1MSGVscGVyICAtIFdhcm5pbmcgcGFyc2luZyBYTUw6IFhNTCBJbnB1dFN0cmVhbSg1KSBODQpv IGJhc2UgVVJJOyBob3BlIHRoaXMgU1lTVEVNIGlkIGlzIGFic29sdXRlOiBodHRwOi8vaGliZXJu YXRlLnNvdXJjZWZvcmdlLm5ldC9oaQ0KYmVybmF0ZS1tYXBwaW5nLTIuMC5kdGQNCjM0MDUgW1Ro cmVhZC01XSBJTkZPIGNmZy5CaW5kZXIgIC0gTWFwcGluZyBjbGFzczogemEub3JnLmNvZWZmaWNp ZW50LmNvcmUuUHJvamVjDQp0VmVyc2lvbiAtPiBDT0VGRklDSUVOVF9QUk9KRUNUX1ZFUlNJT04N CjM0MDUgW1RocmVhZC01XSBJTkZPIGNmZy5Db25maWd1cmF0aW9uICAtIE1hcHBpbmcgcmVzb3Vy Y2U6IHphL29yZy9jb2VmZmljaWVudC9jDQpvcmUvQXR0cmlidXRlRWxlbWVudC5oYm0ueG1sDQoz NDY1IFtUaHJlYWQtNV0gV0FSTiB1dGlsLlhNTEhlbHBlciAgLSBXYXJuaW5nIHBhcnNpbmcgWE1M OiBYTUwgSW5wdXRTdHJlYW0oMSkgVQ0KUkkgd2FzIG5vdCByZXBvcnRlZCB0byBwYXJzZXIgZm9y IGVudGl0eSBbZG9jdW1lbnRdDQozNDY1IFtUaHJlYWQtNV0gV0FSTiB1dGlsLlhNTEhlbHBlciAg LSBXYXJuaW5nIHBhcnNpbmcgWE1MOiBYTUwgSW5wdXRTdHJlYW0oNSkgTg0KbyBiYXNlIFVSSTsg aG9wZSBVUkkgaXMgYWJzb2x1dGU6IGh0dHA6Ly9oaWJlcm5hdGUuc291cmNlZm9yZ2UubmV0L2hp YmVybmF0ZS1tYXANCnBpbmctMi4wLmR0ZA0KMzQ2NSBbVGhyZWFkLTVdIFdBUk4gdXRpbC5YTUxI ZWxwZXIgIC0gV2FybmluZyBwYXJzaW5nIFhNTDogWE1MIElucHV0U3RyZWFtKDUpIE4NCm8gYmFz ZSBVUkk7IGhvcGUgdGhpcyBTWVNURU0gaWQgaXMgYWJzb2x1dGU6IGh0dHA6Ly9oaWJlcm5hdGUu c291cmNlZm9yZ2UubmV0L2hpDQpiZXJuYXRlLW1hcHBpbmctMi4wLmR0ZA0KMzQ4NSBbVGhyZWFk LTVdIElORk8gY2ZnLkJpbmRlciAgLSBNYXBwaW5nIGNsYXNzOiB6YS5vcmcuY29lZmZpY2llbnQu Y29yZS5BdHRyaWINCnV0ZUVsZW1lbnQgLT4gQ09FRkZJQ0lFTlRfQVRUUklCVVRFX0VMRU1FTlQN CjM0ODUgW1RocmVhZC01XSBJTkZPIGNmZy5Db25maWd1cmF0aW9uICAtIE1hcHBpbmcgcmVzb3Vy Y2U6IHphL29yZy9jb2VmZmljaWVudC9jDQpvcmUvQ29lZmZpY2llbnRDb25maWd1cmF0aW9uLmhi bS54bWwNCjM1MDUgW1RocmVhZC01XSBXQVJOIHV0aWwuWE1MSGVscGVyICAtIFdhcm5pbmcgcGFy c2luZyBYTUw6IFhNTCBJbnB1dFN0cmVhbSgxKSBVDQpSSSB3YXMgbm90IHJlcG9ydGVkIHRvIHBh cnNlciBmb3IgZW50aXR5IFtkb2N1bWVudF0NCjM1MDUgW1RocmVhZC01XSBXQVJOIHV0aWwuWE1M SGVscGVyICAtIFdhcm5pbmcgcGFyc2luZyBYTUw6IFhNTCBJbnB1dFN0cmVhbSg1KSBODQpvIGJh c2UgVVJJOyBob3BlIFVSSSBpcyBhYnNvbHV0ZTogaHR0cDovL2hpYmVybmF0ZS5zb3VyY2Vmb3Jn ZS5uZXQvaGliZXJuYXRlLW1hcA0KcGluZy0yLjAuZHRkDQozNTE1IFtUaHJlYWQtNV0gV0FSTiB1 dGlsLlhNTEhlbHBlciAgLSBXYXJuaW5nIHBhcnNpbmcgWE1MOiBYTUwgSW5wdXRTdHJlYW0oNSkg Tg0KbyBiYXNlIFVSSTsgaG9wZSB0aGlzIFNZU1RFTSBpZCBpcyBhYnNvbHV0ZTogaHR0cDovL2hp YmVybmF0ZS5zb3VyY2Vmb3JnZS5uZXQvaGkNCmJlcm5hdGUtbWFwcGluZy0yLjAuZHRkDQozNTE1 IFtUaHJlYWQtNV0gSU5GTyBjZmcuQmluZGVyICAtIE1hcHBpbmcgY2xhc3M6IHphLm9yZy5jb2Vm ZmljaWVudC5jb3JlLkNvZWZmaQ0KY2llbnRDb25maWd1cmF0aW9uIC0+IENPRUZGSUNJRU5UX0NP TkZJR1VSQVRJT04NCjM1MTUgW1RocmVhZC01XSBJTkZPIGNmZy5CaW5kZXIgIC0gTWFwcGluZyBj b2xsZWN0aW9uOiB6YS5vcmcuY29lZmZpY2llbnQuY29yZS5DDQpvZWZmaWNpZW50Q29uZmlndXJh dGlvbi5wcm9wZXJ0aWVzIC0+IENPRUZGSUNJRU5UX0NPTkZJR1VSQVRJT05fUFJPUEVSVElFUw0K MzUxNSBbVGhyZWFkLTVdIElORk8gY2ZnLkNvbmZpZ3VyYXRpb24gIC0gTWFwcGluZyByZXNvdXJj ZTogemEvb3JnL2NvZWZmaWNpZW50L2ENCnV0aGVudGljYXRpb24vQ29lZmZpY2llbnRVc2VyLmhi bS54bWwNCjM1NDUgW1RocmVhZC01XSBXQVJOIHV0aWwuWE1MSGVscGVyICAtIFdhcm5pbmcgcGFy c2luZyBYTUw6IFhNTCBJbnB1dFN0cmVhbSgxKSBVDQpSSSB3YXMgbm90IHJlcG9ydGVkIHRvIHBh cnNlciBmb3IgZW50aXR5IFtkb2N1bWVudF0NCjM1NDUgW1RocmVhZC01XSBXQVJOIHV0aWwuWE1M SGVscGVyICAtIFdhcm5pbmcgcGFyc2luZyBYTUw6IFhNTCBJbnB1dFN0cmVhbSg1KSBODQpvIGJh c2UgVVJJOyBob3BlIFVSSSBpcyBhYnNvbHV0ZTogaHR0cDovL2hpYmVybmF0ZS5zb3VyY2Vmb3Jn ZS5uZXQvaGliZXJuYXRlLW1hcA0KcGluZy0yLjAuZHRkDQozNTQ1IFtUaHJlYWQtNV0gV0FSTiB1 dGlsLlhNTEhlbHBlciAgLSBXYXJuaW5nIHBhcnNpbmcgWE1MOiBYTUwgSW5wdXRTdHJlYW0oNSkg Tg0KbyBiYXNlIFVSSTsgaG9wZSB0aGlzIFNZU1RFTSBpZCBpcyBhYnNvbHV0ZTogaHR0cDovL2hp YmVybmF0ZS5zb3VyY2Vmb3JnZS5uZXQvaGkNCmJlcm5hdGUtbWFwcGluZy0yLjAuZHRkDQozNTc1 IFtUaHJlYWQtNV0gSU5GTyBjZmcuQmluZGVyICAtIE1hcHBpbmcgY2xhc3M6IHphLm9yZy5jb2Vm ZmljaWVudC5hdXRoZW50aWNhdA0KaW9uLkNvZWZmaWNpZW50VXNlciAtPiBDT0VGRklDSUVOVF9V U0VSDQozNTc1IFtUaHJlYWQtNV0gSU5GTyBjZmcuQ29uZmlndXJhdGlvbiAgLSBNYXBwaW5nIHJl c291cmNlOiB6YS9vcmcvY29lZmZpY2llbnQvYQ0KdXRoZW50aWNhdGlvbi9Sb2xlLmhibS54bWwN CjM2MDUgW1RocmVhZC01XSBXQVJOIHV0aWwuWE1MSGVscGVyICAtIFdhcm5pbmcgcGFyc2luZyBY TUw6IFhNTCBJbnB1dFN0cmVhbSgxKSBVDQpSSSB3YXMgbm90IHJlcG9ydGVkIHRvIHBhcnNlciBm b3IgZW50aXR5IFtkb2N1bWVudF0NCjM2MTUgW1RocmVhZC01XSBXQVJOIHV0aWwuWE1MSGVscGVy ICAtIFdhcm5pbmcgcGFyc2luZyBYTUw6IFhNTCBJbnB1dFN0cmVhbSg1KSBODQpvIGJhc2UgVVJJ OyBob3BlIFVSSSBpcyBhYnNvbHV0ZTogaHR0cDovL2hpYmVybmF0ZS5zb3VyY2Vmb3JnZS5uZXQv aGliZXJuYXRlLW1hcA0KcGluZy0yLjAuZHRkDQozNjE1IFtUaHJlYWQtNV0gV0FSTiB1dGlsLlhN TEhlbHBlciAgLSBXYXJuaW5nIHBhcnNpbmcgWE1MOiBYTUwgSW5wdXRTdHJlYW0oNSkgTg0KbyBi YXNlIFVSSTsgaG9wZSB0aGlzIFNZU1RFTSBpZCBpcyBhYnNvbHV0ZTogaHR0cDovL2hpYmVybmF0 ZS5zb3VyY2Vmb3JnZS5uZXQvaGkNCmJlcm5hdGUtbWFwcGluZy0yLjAuZHRkDQozNjE1IFtUaHJl YWQtNV0gSU5GTyBjZmcuQmluZGVyICAtIE1hcHBpbmcgY2xhc3M6IHphLm9yZy5jb2VmZmljaWVu dC5hdXRoZW50aWNhdA0KaW9uLlJvbGUgLT4gQ09FRkZJQ0lFTlRfUk9MRQ0KMzYxNSBbVGhyZWFk LTVdIElORk8gY2ZnLkNvbmZpZ3VyYXRpb24gIC0gTWFwcGluZyByZXNvdXJjZTogemEvb3JnL2Nv ZWZmaWNpZW50L2ENCnV0aGVudGljYXRpb24vUHJvamVjdE1lbWJlci5oYm0ueG1sDQozNjU1IFtU aHJlYWQtNV0gV0FSTiB1dGlsLlhNTEhlbHBlciAgLSBXYXJuaW5nIHBhcnNpbmcgWE1MOiBYTUwg SW5wdXRTdHJlYW0oMSkgVQ0KUkkgd2FzIG5vdCByZXBvcnRlZCB0byBwYXJzZXIgZm9yIGVudGl0 eSBbZG9jdW1lbnRdDQozNjY1IFtUaHJlYWQtNV0gV0FSTiB1dGlsLlhNTEhlbHBlciAgLSBXYXJu aW5nIHBhcnNpbmcgWE1MOiBYTUwgSW5wdXRTdHJlYW0oNSkgTg0KbyBiYXNlIFVSSTsgaG9wZSBV UkkgaXMgYWJzb2x1dGU6IGh0dHA6Ly9oaWJlcm5hdGUuc291cmNlZm9yZ2UubmV0L2hpYmVybmF0 ZS1tYXANCnBpbmctMi4wLmR0ZA0KMzY2NSBbVGhyZWFkLTVdIFdBUk4gdXRpbC5YTUxIZWxwZXIg IC0gV2FybmluZyBwYXJzaW5nIFhNTDogWE1MIElucHV0U3RyZWFtKDUpIE4NCm8gYmFzZSBVUkk7 IGhvcGUgdGhpcyBTWVNURU0gaWQgaXMgYWJzb2x1dGU6IGh0dHA6Ly9oaWJlcm5hdGUuc291cmNl Zm9yZ2UubmV0L2hpDQpiZXJuYXRlLW1hcHBpbmctMi4wLmR0ZA0KMzY3NSBbVGhyZWFkLTVdIElO Rk8gY2ZnLkJpbmRlciAgLSBNYXBwaW5nIGNsYXNzOiB6YS5vcmcuY29lZmZpY2llbnQuYXV0aGVu dGljYXQNCmlvbi5Qcm9qZWN0TWVtYmVyIC0+IENPRUZGSUNJRU5UX1BST0pFQ1RfTUVNQkVSDQoz Njc1IFtUaHJlYWQtNV0gSU5GTyBjZmcuQ29uZmlndXJhdGlvbiAgLSBNYXBwaW5nIHJlc291cmNl OiB6YS9jby9jc2lyL2ljb210ZWsvdw0Kb3JrZmxvdy9Xb3JrZmxvd0RhdGEuaGJtLnhtbA0KMzY3 NSBbVGhyZWFkLTVdIFdBUk4gdXRpbC5YTUxIZWxwZXIgIC0gV2FybmluZyBwYXJzaW5nIFhNTDog WE1MIElucHV0U3RyZWFtKDEpIFUNClJJIHdhcyBub3QgcmVwb3J0ZWQgdG8gcGFyc2VyIGZvciBl bnRpdHkgW2RvY3VtZW50XQ0KMzY3NSBbVGhyZWFkLTVdIFdBUk4gdXRpbC5YTUxIZWxwZXIgIC0g V2FybmluZyBwYXJzaW5nIFhNTDogWE1MIElucHV0U3RyZWFtKDUpIE4NCm8gYmFzZSBVUkk7IGhv cGUgVVJJIGlzIGFic29sdXRlOiBodHRwOi8vaGliZXJuYXRlLnNvdXJjZWZvcmdlLm5ldC9oaWJl cm5hdGUtbWFwDQpwaW5nLTIuMC5kdGQNCjM2NzUgW1RocmVhZC01XSBXQVJOIHV0aWwuWE1MSGVs cGVyICAtIFdhcm5pbmcgcGFyc2luZyBYTUw6IFhNTCBJbnB1dFN0cmVhbSg1KSBODQpvIGJhc2Ug VVJJOyBob3BlIHRoaXMgU1lTVEVNIGlkIGlzIGFic29sdXRlOiBodHRwOi8vaGliZXJuYXRlLnNv dXJjZWZvcmdlLm5ldC9oaQ0KYmVybmF0ZS1tYXBwaW5nLTIuMC5kdGQNCjM2OTUgW1RocmVhZC01 XSBJTkZPIGNmZy5CaW5kZXIgIC0gTWFwcGluZyBjbGFzczogemEuY28uY3Npci5pY29tdGVrLndv cmtmbG93LldvDQpya2Zsb3dEYXRhIC0+IENTSVJfV09SS0ZMT1dfREFUQQ0KMzY5NSBbVGhyZWFk LTVdIElORk8gY2ZnLkNvbmZpZ3VyYXRpb24gIC0gcHJvY2Vzc2luZyBvbmUtdG8tbWFueSBhc3Nv Y2lhdGlvbiBtYXANCnBpbmdzDQozNzA1IFtUaHJlYWQtNV0gSU5GTyBjZmcuQ29uZmlndXJhdGlv biAgLSBwcm9jZXNzaW5nIG9uZS10by1vbmUgYXNzb2NpYXRpb24gcHJvcA0KZXJ0eSByZWZlcmVu Y2VzDQozNzA1IFtUaHJlYWQtNV0gSU5GTyBjZmcuQ29uZmlndXJhdGlvbiAgLSBwcm9jZXNzaW5n IGZvcmVpZ24ga2V5IGNvbnN0cmFpbnRzDQozNzY1IFtUaHJlYWQtNV0gSU5GTyBkaWFsZWN0LkRp YWxlY3QgIC0gVXNpbmcgZGlhbGVjdDogbmV0LnNmLmhpYmVybmF0ZS5kaWFsZWN0Lg0KTXlTUUxE aWFsZWN0DQozNzk1IFtUaHJlYWQtNV0gSU5GTyBjZmcuU2V0dGluZ3NGYWN0b3J5ICAtIE1heGlt aW0gb3V0ZXIgam9pbiBmZXRjaCBkZXB0aDogMg0KMzc5NSBbVGhyZWFkLTVdIElORk8gY2ZnLlNl dHRpbmdzRmFjdG9yeSAgLSBVc2Ugb3V0ZXIgam9pbiBmZXRjaGluZzogdHJ1ZQ0KMzgwNSBbVGhy ZWFkLTVdIElORk8gY29ubmVjdGlvbi5Ecml2ZXJNYW5hZ2VyQ29ubmVjdGlvblByb3ZpZGVyICAt IFVzaW5nIEhpYmVybmENCnRlIGJ1aWx0LWluIGNvbm5lY3Rpb24gcG9vbCAobm90IGZvciBwcm9k dWN0aW9uIHVzZSEpDQozODA1IFtUaHJlYWQtNV0gSU5GTyBjb25uZWN0aW9uLkRyaXZlck1hbmFn ZXJDb25uZWN0aW9uUHJvdmlkZXIgIC0gSGliZXJuYXRlIGNvbg0KbmVjdGlvbiBwb29sIHNpemU6 IDINCjM4MTUgW1RocmVhZC01XSBJTkZPIGNvbm5lY3Rpb24uRHJpdmVyTWFuYWdlckNvbm5lY3Rp b25Qcm92aWRlciAgLSB1c2luZyBkcml2ZXI6DQogb3JnLmdqdC5tbS5teXNxbC5Ecml2ZXIgYXQg VVJMOiBqZGJjOm15c3FsOi8vMTI3LjAuMC4xOjMzMDYvY29lZmZpY2llbnQNCjM4MTUgW1RocmVh ZC01XSBJTkZPIGNvbm5lY3Rpb24uRHJpdmVyTWFuYWdlckNvbm5lY3Rpb25Qcm92aWRlciAgLSBj b25uZWN0aW9uIHByDQpvcGVydGllczoge3VzZXI9Y29lZmZpY2llbnQsIHBhc3N3b3JkPWNvZWZm aWNpZW50fQ0KMzgzNiBbVGhyZWFkLTVdIElORk8gdHJhbnNhY3Rpb24uVHJhbnNhY3Rpb25NYW5h Z2VyTG9va3VwRmFjdG9yeSAgLSBObyBUcmFuc2FjdGkNCm9uTWFuYWdlckxvb2t1cCBjb25maWd1 cmVkIChpbiBKVEEgZW52aXJvbm1lbnQsIHVzZSBvZiBwcm9jZXNzIGxldmVsIHJlYWQtd3JpdGUN CmNhY2hlIGlzIG5vdCByZWNvbW1lbmRlZCkNCjQwOTYgW1RocmVhZC01XSBJTkZPIGNmZy5TZXR0 aW5nc0ZhY3RvcnkgIC0gVXNlIHNjcm9sbGFibGUgcmVzdWx0IHNldHM6IHRydWUNCjQwOTYgW1Ro cmVhZC01XSBJTkZPIGNmZy5TZXR0aW5nc0ZhY3RvcnkgIC0gVXNlIEpEQkMzIGdldEdlbmVyYXRl ZEtleXMoKTogdHJ1ZQ0KNDA5NiBbVGhyZWFkLTVdIElORk8gY2ZnLlNldHRpbmdzRmFjdG9yeSAg LSBPcHRpbWl6ZSBjYWNoZSBmb3IgbWluaW1hbCBwdXRzOiBmYWwNCnNlDQo0MDk2IFtUaHJlYWQt NV0gSU5GTyBjZmcuU2V0dGluZ3NGYWN0b3J5ICAtIFF1ZXJ5IGxhbmd1YWdlIHN1YnN0aXR1dGlv bnM6IHt9DQo0MDk2IFtUaHJlYWQtNV0gSU5GTyBjZmcuU2V0dGluZ3NGYWN0b3J5ICAtIGNhY2hl IHByb3ZpZGVyOiBuZXQuc2YuaGliZXJuYXRlLmNhYw0KaGUuRWhDYWNoZVByb3ZpZGVyDQo0MTE2 IFtUaHJlYWQtNV0gSU5GTyBjZmcuQ29uZmlndXJhdGlvbiAgLSBpbnN0YW50aWF0aW5nIGFuZCBj b25maWd1cmluZyBjYWNoZXMNCjQxMzYgW1RocmVhZC01XSBXQVJOIGNvbmZpZy5Db25maWd1cmF0 b3IgIC0gTm8gY29uZmlndXJhdGlvbiBmb3VuZC4gQ29uZmlndXJpbmcNCmVoY2FjaGUgZnJvbSBl aGNhY2hlLWZhaWxzYWZlLnhtbCBmb3VuZCBpbiB0aGUgY2xhc3NwYXRoOiBqYXI6ZmlsZTovQzov UHJvZ3JhbSBGDQppbGVzL0FwYWNoZSBHcm91cC9Ub21jYXQgNC4xL3dlYmFwcHMvY29lZmZpY2ll bnQvV0VCLUlORi9saWIvZWhjYWNoZS0wLjYuamFyIS9laA0KY2FjaGUtZmFpbHNhZmUueG1sDQo0 NDM2IFtUaHJlYWQtNV0gSU5GTyBpbXBsLlNlc3Npb25GYWN0b3J5SW1wbCAgLSBidWlsZGluZyBz ZXNzaW9uIGZhY3RvcnkNCjUzNDggW1RocmVhZC01XSBJTkZPIGltcGwuU2Vzc2lvbkZhY3RvcnlP YmplY3RGYWN0b3J5ICAtIE5vdCBiaW5kaW5nIGZhY3RvcnkgdG8NCkpOREksIG5vIEpOREkgbmFt ZSBjb25maWd1cmVkDQo1NDc4IFtUaHJlYWQtNV0gSU5GTyBkaWFsZWN0LkRpYWxlY3QgIC0gVXNp bmcgZGlhbGVjdDogbmV0LnNmLmhpYmVybmF0ZS5kaWFsZWN0Lg0KTXlTUUxEaWFsZWN0DQo1NDc4 IFtUaHJlYWQtNV0gSU5GTyBjZmcuQ29uZmlndXJhdGlvbiAgLSBwcm9jZXNzaW5nIG9uZS10by1t YW55IGFzc29jaWF0aW9uIG1hcA0KcGluZ3MNCjU0NzggW1RocmVhZC01XSBJTkZPIGNmZy5Db25m aWd1cmF0aW9uICAtIHByb2Nlc3Npbmcgb25lLXRvLW9uZSBhc3NvY2lhdGlvbiBwcm9wDQplcnR5 IHJlZmVyZW5jZXMNCjU0NzggW1RocmVhZC01XSBJTkZPIGNmZy5Db25maWd1cmF0aW9uICAtIHBy b2Nlc3NpbmcgZm9yZWlnbiBrZXkgY29uc3RyYWludHMNCjU1OTggW1RocmVhZC01XSBJTkZPIGhi bTJkZGwuVGFibGVNZXRhZGF0YSAgLSB0YWJsZSBmb3VuZDogY29lZmZpY2llbnQuY29lZmZpY2ll DQpudF9wcm9qZWN0X3BlbmRpbmdfbWVtYmVycw0KNTU5OCBbVGhyZWFkLTVdIElORk8gaGJtMmRk bC5UYWJsZU1ldGFkYXRhICAtIGNvbHVtbnM6IFttZW1iZXJzX3BlbmRpbmcsIGlkeCwgcHINCm9q ZWN0X2lkXQ0KNTU5OCBbVGhyZWFkLTVdIElORk8gaGJtMmRkbC5UYWJsZU1ldGFkYXRhICAtIGZv cmVpZ24ga2V5czogW10NCjU1OTggW1RocmVhZC01XSBJTkZPIGhibTJkZGwuVGFibGVNZXRhZGF0 YSAgLSBpbmRleGVzOiBbcHJpbWFyeSwgZms2ZmY1N2MxYTc3ZjA4DQoyMSwgZms2ZmY1N2MxYTMw MjA4MzFdDQo1NjQ4IFtUaHJlYWQtNV0gSU5GTyBoYm0yZGRsLlRhYmxlTWV0YWRhdGEgIC0gdGFi bGUgZm91bmQ6IGNvZWZmaWNpZW50LmNvZWZmaWNpZQ0KbnRfcHJvamVjdF9zdGF0aXN0aWNzX2Fy Y2hpdmUNCjU2NDggW1RocmVhZC01XSBJTkZPIGhibTJkZGwuVGFibGVNZXRhZGF0YSAgLSBjb2x1 bW5zOiBbcHJvamVjdF9zdGF0aXN0aWNzX2lkLCBwDQpyb2plY3Rfc3RhdGlzdGljc19kYXRhLCBp ZHhdDQo1NjQ4IFtUaHJlYWQtNV0gSU5GTyBoYm0yZGRsLlRhYmxlTWV0YWRhdGEgIC0gZm9yZWln biBrZXlzOiBbXQ0KNTY0OCBbVGhyZWFkLTVdIElORk8gaGJtMmRkbC5UYWJsZU1ldGFkYXRhICAt IGluZGV4ZXM6IFtwcmltYXJ5LCBmazdkOTA4NWY2MjIwZjENCmFmMSwgZms3ZDkwODVmNmRhYjFk YzAwXQ0KNTcyOCBbVGhyZWFkLTVdIElORk8gaGJtMmRkbC5UYWJsZU1ldGFkYXRhICAtIHRhYmxl IGZvdW5kOiBjb2VmZmljaWVudC5jb2VmZmljaWUNCm50X3Byb2plY3RfdmVyc2lvbnMNCjU3Mjgg W1RocmVhZC01XSBJTkZPIGhibTJkZGwuVGFibGVNZXRhZGF0YSAgLSBjb2x1bW5zOiBbaWR4LCB2 ZXJzaW9ucywgcHJvamVjdF9pDQpkXQ0KNTcyOCBbVGhyZWFkLTVdIElORk8gaGJtMmRkbC5UYWJs ZU1ldGFkYXRhICAtIGZvcmVpZ24ga2V5czogW10NCjU3MjggW1RocmVhZC01XSBJTkZPIGhibTJk ZGwuVGFibGVNZXRhZGF0YSAgLSBpbmRleGVzOiBbcHJpbWFyeSwgZms5YmRlZTMwYmE3N2YwDQo4 MjEsIGZrOWJkZWUzMGJiODU0NmU5Yl0NCjU4MDggW1RocmVhZC01XSBJTkZPIGhibTJkZGwuVGFi bGVNZXRhZGF0YSAgLSB0YWJsZSBmb3VuZDogY29lZmZpY2llbnQuY29lZmZpY2llDQpudF9wcm9q ZWN0X3N0YXRpc3RpY3NfZGF0YQ0KNTgwOCBbVGhyZWFkLTVdIElORk8gaGJtMmRkbC5UYWJsZU1l dGFkYXRhICAtIGNvbHVtbnM6IFtjYXJyeV9vdmVyX3ZpZXdfY291bnQsIGQNCm93bmxvYWRfY291 bnQsIHJhbmssIGNhcnJ5X292ZXJfZG93bmxvYWRfY291bnQsIHZpZXdfY291bnQsIGlkXQ0KNTgw OCBbVGhyZWFkLTVdIElORk8gaGJtMmRkbC5UYWJsZU1ldGFkYXRhICAtIGZvcmVpZ24ga2V5czog W10NCjU4MDggW1RocmVhZC01XSBJTkZPIGhibTJkZGwuVGFibGVNZXRhZGF0YSAgLSBpbmRleGVz OiBbcHJpbWFyeV0NCjU4NTggW1RocmVhZC01XSBJTkZPIGhibTJkZGwuVGFibGVNZXRhZGF0YSAg LSB0YWJsZSBmb3VuZDogY29lZmZpY2llbnQuY29lZmZpY2llDQpudF9hdHRyaWJ1dGVfZGF0YQ0K NTg1OCBbVGhyZWFkLTVdIElORk8gaGJtMmRkbC5UYWJsZU1ldGFkYXRhICAtIGNvbHVtbnM6IFtk ZXNjcmlwdGlvbiwgYXR0cmlidXRlX2kNCmQsIGVsZW1lbnRfaWQsIGlkXQ0KNTg1OCBbVGhyZWFk LTVdIElORk8gaGJtMmRkbC5UYWJsZU1ldGFkYXRhICAtIGZvcmVpZ24ga2V5czogW10NCjU4NTgg W1RocmVhZC01XSBJTkZPIGhibTJkZGwuVGFibGVNZXRhZGF0YSAgLSBpbmRleGVzOiBbcHJpbWFy eV0NCjU5NDkgW1RocmVhZC01XSBJTkZPIGhibTJkZGwuVGFibGVNZXRhZGF0YSAgLSB0YWJsZSBm b3VuZDogY29lZmZpY2llbnQuY29lZmZpY2llDQpudF91c2VyDQo1OTQ5IFtUaHJlYWQtNV0gSU5G TyBoYm0yZGRsLlRhYmxlTWV0YWRhdGEgIC0gY29sdW1uczogW3Bhc3N3b3JkLCBhY3RpdmUsIHRp bWVfeg0Kb25lLCBjb25maXJtYXRpb25faWQsIHVzZXJuYW1lLCBlbWFpbCwgaGlkZV9pbmZvcm1h dGlvbiwgbGFuZ3VhZ2UsIGZ1bGxuYW1lLCBzeXMNCnRlbV9yb2xlLCBjcmVhdGVfZGF0ZSwgaWQs IHZlcnNpb25dDQo1OTQ5IFtUaHJlYWQtNV0gSU5GTyBoYm0yZGRsLlRhYmxlTWV0YWRhdGEgIC0g Zm9yZWlnbiBrZXlzOiBbXQ0KNTk0OSBbVGhyZWFkLTVdIElORk8gaGJtMmRkbC5UYWJsZU1ldGFk YXRhICAtIGluZGV4ZXM6IFtwcmltYXJ5LCBmazU1OTU0NGI1MjY5NTUNCjA4NiwgdXNlcm5hbWVd DQo2MDM5IFtUaHJlYWQtNV0gSU5GTyBoYm0yZGRsLlRhYmxlTWV0YWRhdGEgIC0gdGFibGUgZm91 bmQ6IGNvZWZmaWNpZW50LmNvZWZmaWNpZQ0KbnRfYXR0cmlidXRlDQo2MDM5IFtUaHJlYWQtNV0g SU5GTyBoYm0yZGRsLlRhYmxlTWV0YWRhdGEgIC0gY29sdW1uczogW25hbWUsIGlkXQ0KNjAzOSBb VGhyZWFkLTVdIElORk8gaGJtMmRkbC5UYWJsZU1ldGFkYXRhICAtIGZvcmVpZ24ga2V5czogW10N CjYwMzkgW1RocmVhZC01XSBJTkZPIGhibTJkZGwuVGFibGVNZXRhZGF0YSAgLSBpbmRleGVzOiBb cHJpbWFyeV0NCjYwOTkgW1RocmVhZC01XSBJTkZPIGhibTJkZGwuVGFibGVNZXRhZGF0YSAgLSB0 YWJsZSBmb3VuZDogY29lZmZpY2llbnQuY29lZmZpY2llDQpudF9jb21wb25lbnQNCjYxMDkgW1Ro cmVhZC01XSBJTkZPIGhibTJkZGwuVGFibGVNZXRhZGF0YSAgLSBjb2x1bW5zOiBbY29tcG9uZW50 X2lkLCBkZXNjcmlwdGlvDQpuLCBuYW1lLCBpZCwgdmVyc2lvbl0NCjYxMDkgW1RocmVhZC01XSBJ TkZPIGhibTJkZGwuVGFibGVNZXRhZGF0YSAgLSBmb3JlaWduIGtleXM6IFtdDQo2MTA5IFtUaHJl YWQtNV0gSU5GTyBoYm0yZGRsLlRhYmxlTWV0YWRhdGEgIC0gaW5kZXhlczogW3ByaW1hcnldDQo2 MTY5IFtUaHJlYWQtNV0gSU5GTyBoYm0yZGRsLlRhYmxlTWV0YWRhdGEgIC0gdGFibGUgZm91bmQ6 IGNvZWZmaWNpZW50LmNvZWZmaWNpZQ0KbnRfY2F0ZWdvcnkNCjYxNjkgW1RocmVhZC01XSBJTkZP IGhibTJkZGwuVGFibGVNZXRhZGF0YSAgLSBjb2x1bW5zOiBbZGVzY3JpcHRpb24sIHBhcmVudF9j YXRlDQpnb3J5LCBuYW1lLCBpZCwgdmVyc2lvbl0NCjYxNjkgW1RocmVhZC01XSBJTkZPIGhibTJk ZGwuVGFibGVNZXRhZGF0YSAgLSBmb3JlaWduIGtleXM6IFtdDQo2MTY5IFtUaHJlYWQtNV0gSU5G TyBoYm0yZGRsLlRhYmxlTWV0YWRhdGEgIC0gaW5kZXhlczogW2ZrNWU0Nzg4ZThhMzkwODBmMywg cHJpbQ0KYXJ5XQ0KNjIzOSBbVGhyZWFkLTVdIElORk8gaGJtMmRkbC5UYWJsZU1ldGFkYXRhICAt IHRhYmxlIGZvdW5kOiBjb2VmZmljaWVudC5jb2VmZmljaWUNCm50X3Byb2plY3RfbW9kdWxlcw0K NjIzOSBbVGhyZWFkLTVdIElORk8gaGJtMmRkbC5UYWJsZU1ldGFkYXRhICAtIGNvbHVtbnM6IFtp ZHgsIHByb2plY3RfaWQsIG1vZHVsZXMNCl0NCjYyMzkgW1RocmVhZC01XSBJTkZPIGhibTJkZGwu VGFibGVNZXRhZGF0YSAgLSBmb3JlaWduIGtleXM6IFtdDQo2MjM5IFtUaHJlYWQtNV0gSU5GTyBo Ym0yZGRsLlRhYmxlTWV0YWRhdGEgIC0gaW5kZXhlczogW2ZrOTQxMWYwZjdhNzdmMDgyMSwgcHJp bQ0KYXJ5XQ0KNjQyOSBbVGhyZWFkLTVdIElORk8gaGJtMmRkbC5UYWJsZU1ldGFkYXRhICAtIHRh YmxlIGZvdW5kOiBjb2VmZmljaWVudC5jb2VmZmljaWUNCm50X3JvbGUNCjY0MjkgW1RocmVhZC01 XSBJTkZPIGhibTJkZGwuVGFibGVNZXRhZGF0YSAgLSBjb2x1bW5zOiBbcm9sZV92YWx1ZSwgZGVz Y3JpcHRpb24sDQogaWRdDQo2NDI5IFtUaHJlYWQtNV0gSU5GTyBoYm0yZGRsLlRhYmxlTWV0YWRh dGEgIC0gZm9yZWlnbiBrZXlzOiBbXQ0KNjQyOSBbVGhyZWFkLTVdIElORk8gaGJtMmRkbC5UYWJs ZU1ldGFkYXRhICAtIGluZGV4ZXM6IFtwcmltYXJ5XQ0KNjQ5OSBbVGhyZWFkLTVdIElORk8gaGJt MmRkbC5UYWJsZU1ldGFkYXRhICAtIHRhYmxlIGZvdW5kOiBjb2VmZmljaWVudC5jb2VmZmljaWUN Cm50X3Byb2plY3RfdmVyc2lvbg0KNjQ5OSBbVGhyZWFkLTVdIElORk8gaGJtMmRkbC5UYWJsZU1l dGFkYXRhICAtIGNvbHVtbnM6IFt2ZXJzaW9uX2lkLCBkZXNjcmlwdGlvbiwNCiBuYW1lLCBpZCwg dmVyc2lvbl0NCjY0OTkgW1RocmVhZC01XSBJTkZPIGhibTJkZGwuVGFibGVNZXRhZGF0YSAgLSBm b3JlaWduIGtleXM6IFtdDQo2NDk5IFtUaHJlYWQtNV0gSU5GTyBoYm0yZGRsLlRhYmxlTWV0YWRh dGEgIC0gaW5kZXhlczogW3ByaW1hcnldDQo2NTU5IFtUaHJlYWQtNV0gSU5GTyBoYm0yZGRsLlRh YmxlTWV0YWRhdGEgIC0gdGFibGUgZm91bmQ6IGNvZWZmaWNpZW50LmNvZWZmaWNpZQ0KbnRfbW9k dWxlX3N0YXRpc3RpY3NfYXJjaGl2ZQ0KNjU1OSBbVGhyZWFkLTVdIElORk8gaGJtMmRkbC5UYWJs ZU1ldGFkYXRhICAtIGNvbHVtbnM6IFtpZHgsIG1vZHVsZV9zdGF0aXN0aWNfaWQNCiwgbW9kdWxl X3N0YXRpc3RpY3NfZGF0YV0NCjY1NTkgW1RocmVhZC01XSBJTkZPIGhibTJkZGwuVGFibGVNZXRh ZGF0YSAgLSBmb3JlaWduIGtleXM6IFtdDQo2NTU5IFtUaHJlYWQtNV0gSU5GTyBoYm0yZGRsLlRh YmxlTWV0YWRhdGEgIC0gaW5kZXhlczogW2ZrZmIzYmVmOGZhNjlkNTk3MywgcHJpbQ0KYXJ5LCBm a2ZiM2JlZjhmNDg3MDM1N2RdDQo2NjUwIFtUaHJlYWQtNV0gSU5GTyBoYm0yZGRsLlRhYmxlTWV0 YWRhdGEgIC0gdGFibGUgZm91bmQ6IGNvZWZmaWNpZW50LmNvZWZmaWNpZQ0KbnRfcHJvamVjdF9t ZW1iZXINCjY2NTAgW1RocmVhZC01XSBJTkZPIGhibTJkZGwuVGFibGVNZXRhZGF0YSAgLSBjb2x1 bW5zOiBbY29lZmZpY2llbnRfdXNlciwgcHJvamVjDQp0X3JvbGUsIGlkLCB2ZXJzaW9uXQ0KNjY1 MCBbVGhyZWFkLTVdIElORk8gaGJtMmRkbC5UYWJsZU1ldGFkYXRhICAtIGZvcmVpZ24ga2V5czog W10NCjY2NTAgW1RocmVhZC01XSBJTkZPIGhibTJkZGwuVGFibGVNZXRhZGF0YSAgLSBpbmRleGVz OiBbcHJpbWFyeSwgZms1NmQyNGYwYWMzZTFjDQpkZmMsIGZrNTZkMjRmMGE1NTk1NDRiNV0NCjY3 MTAgW1RocmVhZC01XSBJTkZPIGhibTJkZGwuVGFibGVNZXRhZGF0YSAgLSB0YWJsZSBmb3VuZDog Y29lZmZpY2llbnQuY29lZmZpY2llDQpudF9wcm9qZWN0X2NvbXBvbmVudHMNCjY3MTAgW1RocmVh ZC01XSBJTkZPIGhibTJkZGwuVGFibGVNZXRhZGF0YSAgLSBjb2x1bW5zOiBbY29tcG9uZW50cywg aWR4LCBwcm9qZWN0DQpfaWRdDQo2NzEwIFtUaHJlYWQtNV0gSU5GTyBoYm0yZGRsLlRhYmxlTWV0 YWRhdGEgIC0gZm9yZWlnbiBrZXlzOiBbXQ0KNjcxMCBbVGhyZWFkLTVdIElORk8gaGJtMmRkbC5U YWJsZU1ldGFkYXRhICAtIGluZGV4ZXM6IFtwcmltYXJ5LCBmazJjZmQ4Nzg2YTc3ZjANCjgyMSwg ZmsyY2ZkODc4NjIzZTZmMTZdDQo2NzcwIFtUaHJlYWQtNV0gSU5GTyBoYm0yZGRsLlRhYmxlTWV0 YWRhdGEgIC0gdGFibGUgZm91bmQ6IGNvZWZmaWNpZW50LmNvZWZmaWNpZQ0KbnRfcHJvamVjdF9z dGF0aXN0aWNzX21vZHVsZV9zdGF0aXN0aWNzDQo2NzgwIFtUaHJlYWQtNV0gSU5GTyBoYm0yZGRs LlRhYmxlTWV0YWRhdGEgIC0gY29sdW1uczogW3Byb2plY3Rfc3RhdGlzdGljc19pZCwgbQ0Kb2R1 bGVfc3RhdGlzdGljLCBpZHhdDQo2NzgwIFtUaHJlYWQtNV0gSU5GTyBoYm0yZGRsLlRhYmxlTWV0 YWRhdGEgIC0gZm9yZWlnbiBrZXlzOiBbXQ0KNjc4MCBbVGhyZWFkLTVdIElORk8gaGJtMmRkbC5U YWJsZU1ldGFkYXRhICAtIGluZGV4ZXM6IFtmazIyY2Y1ZDJhZmZhZDA3MWQsIHByaW0NCmFyeSwg ZmsyMmNmNWQyYTIyMGYxYWYxXQ0KNjg5MCBbVGhyZWFkLTVdIElORk8gaGJtMmRkbC5UYWJsZU1l dGFkYXRhICAtIHRhYmxlIGZvdW5kOiBjb2VmZmljaWVudC5jb2VmZmljaWUNCm50X2NvbmZpZ3Vy YXRpb25fcHJvcGVydGllcw0KNjg5MCBbVGhyZWFkLTVdIElORk8gaGJtMmRkbC5UYWJsZU1ldGFk YXRhICAtIGNvbHVtbnM6IFtpZHgsIHByb3BlcnRpZXMsIGlkXQ0KNjg5MCBbVGhyZWFkLTVdIElO Rk8gaGJtMmRkbC5UYWJsZU1ldGFkYXRhICAtIGZvcmVpZ24ga2V5czogW10NCjY4OTAgW1RocmVh ZC01XSBJTkZPIGhibTJkZGwuVGFibGVNZXRhZGF0YSAgLSBpbmRleGVzOiBbcHJpbWFyeSwgZmtm YWMyYzgyNjkxYl0NCjY5ODAgW1RocmVhZC01XSBJTkZPIGhibTJkZGwuVGFibGVNZXRhZGF0YSAg LSB0YWJsZSBmb3VuZDogY29lZmZpY2llbnQuY29lZmZpY2llDQpudF9wcm9qZWN0X2NhdGVnb3Jp ZXMNCjY5ODAgW1RocmVhZC01XSBJTkZPIGhibTJkZGwuVGFibGVNZXRhZGF0YSAgLSBjb2x1bW5z OiBbaWR4LCBjYXRlZ29yeSwgcHJvamVjdF9pDQpkXQ0KNjk5MCBbVGhyZWFkLTVdIElORk8gaGJt MmRkbC5UYWJsZU1ldGFkYXRhICAtIGZvcmVpZ24ga2V5czogW10NCjY5OTAgW1RocmVhZC01XSBJ TkZPIGhibTJkZGwuVGFibGVNZXRhZGF0YSAgLSBpbmRleGVzOiBbcHJpbWFyeSwgZms5NGYwNGE4 YzMxYThhDQpjZmUsIGZrOTRmMDRhOGNhNzdmMDgyMV0NCjcwNTAgW1RocmVhZC01XSBJTkZPIGhi bTJkZGwuVGFibGVNZXRhZGF0YSAgLSB0YWJsZSBmb3VuZDogY29lZmZpY2llbnQuY29lZmZpY2ll DQpudF9hdHRyaWJ1dGVfZWxlbWVudHMNCjcwNTAgW1RocmVhZC01XSBJTkZPIGhibTJkZGwuVGFi bGVNZXRhZGF0YSAgLSBjb2x1bW5zOiBbaWR4LCBhdHRyaWJ1dGVfaWQsIGVsZW1lDQpudHNdDQo3 MDUwIFtUaHJlYWQtNV0gSU5GTyBoYm0yZGRsLlRhYmxlTWV0YWRhdGEgIC0gZm9yZWlnbiBrZXlz OiBbXQ0KNzA1MCBbVGhyZWFkLTVdIElORk8gaGJtMmRkbC5UYWJsZU1ldGFkYXRhICAtIGluZGV4 ZXM6IFtwcmltYXJ5LCBma2M0NjRiMmM0MmUyNmINCjBmNywgZmtjNDY0YjJjNDRkODdkMWJlXQ0K NzIwMCBbVGhyZWFkLTVdIElORk8gaGJtMmRkbC5UYWJsZU1ldGFkYXRhICAtIHRhYmxlIGZvdW5k OiBjb2VmZmljaWVudC5jc2lyX3dvcmsNCmZsb3dfZGF0YQ0KNzIwMCBbVGhyZWFkLTVdIElORk8g aGJtMmRkbC5UYWJsZU1ldGFkYXRhICAtIGNvbHVtbnM6IFt3b3JrZmxvd19uYW1lLCBsaW5rX2lk LA0KY3VycmVudF9zdGF0ZV9kZXNjLCBjdXJyZW50X3N0YXRlLCBpZCwgdmVyc2lvbl0NCjcyMDAg W1RocmVhZC01XSBJTkZPIGhibTJkZGwuVGFibGVNZXRhZGF0YSAgLSBmb3JlaWduIGtleXM6IFtd DQo3MjAwIFtUaHJlYWQtNV0gSU5GTyBoYm0yZGRsLlRhYmxlTWV0YWRhdGEgIC0gaW5kZXhlczog W3ByaW1hcnldDQo3MjUwIFtUaHJlYWQtNV0gSU5GTyBoYm0yZGRsLlRhYmxlTWV0YWRhdGEgIC0g dGFibGUgZm91bmQ6IGNvZWZmaWNpZW50LmNvZWZmaWNpZQ0KbnRfcHJvamVjdF9tZW1iZXJzDQo3 MjUwIFtUaHJlYWQtNV0gSU5GTyBoYm0yZGRsLlRhYmxlTWV0YWRhdGEgIC0gY29sdW1uczogW21l bWJlcnMsIGlkeCwgcHJvamVjdF9pZA0KXQ0KNzI1MCBbVGhyZWFkLTVdIElORk8gaGJtMmRkbC5U YWJsZU1ldGFkYXRhICAtIGZvcmVpZ24ga2V5czogW10NCjcyNTAgW1RocmVhZC01XSBJTkZPIGhi bTJkZGwuVGFibGVNZXRhZGF0YSAgLSBpbmRleGVzOiBbZms4Mzc3OTI4OWE3N2YwODIxLCBwcmlt DQphcnksIGZrODM3NzkyODk2MzVhNTRmOV0NCjc0NTEgW1RocmVhZC01XSBJTkZPIGhibTJkZGwu VGFibGVNZXRhZGF0YSAgLSB0YWJsZSBmb3VuZDogY29lZmZpY2llbnQuY29lZmZpY2llDQpudF9t b2R1bGVfc3RhdGlzdGljcw0KNzQ1MSBbVGhyZWFkLTVdIElORk8gaGJtMmRkbC5UYWJsZU1ldGFk YXRhICAtIGNvbHVtbnM6IFtzdGF0aXN0aWNzX2RhdGUsIHByb2plY3QNCl9pZCwgY3VycmVudF9k YXRhLCBuYW1lLCBpZF0NCjc0NTEgW1RocmVhZC01XSBJTkZPIGhibTJkZGwuVGFibGVNZXRhZGF0 YSAgLSBmb3JlaWduIGtleXM6IFtdDQo3NDUxIFtUaHJlYWQtNV0gSU5GTyBoYm0yZGRsLlRhYmxl TWV0YWRhdGEgIC0gaW5kZXhlczogW2ZrMzlmY2M4MmNlMzY4NDZkMCwgcHJpbQ0KYXJ5LCBjdXJy ZW50X2RhdGFdDQo3NTUxIFtUaHJlYWQtNV0gSU5GTyBoYm0yZGRsLlRhYmxlTWV0YWRhdGEgIC0g dGFibGUgZm91bmQ6IGNvZWZmaWNpZW50LmNvZWZmaWNpZQ0KbnRfcHJvamVjdF9zdGF0aXN0aWNz DQo3NTUxIFtUaHJlYWQtNV0gSU5GTyBoYm0yZGRsLlRhYmxlTWV0YWRhdGEgIC0gY29sdW1uczog W3N0YXRpc3RpY3NfZGF0ZSwgcHJvamVjdA0KX2lkLCBjdXJyZW50X2RhdGEsIGlkXQ0KNzU1MSBb VGhyZWFkLTVdIElORk8gaGJtMmRkbC5UYWJsZU1ldGFkYXRhICAtIGZvcmVpZ24ga2V5czogW10N Cjc1NTEgW1RocmVhZC01XSBJTkZPIGhibTJkZGwuVGFibGVNZXRhZGF0YSAgLSBpbmRleGVzOiBb Zms0MjA1YjU5M2UzNjg0NmQwLCBwcmltDQphcnksIGN1cnJlbnRfZGF0YV0NCjc2NTEgW1RocmVh ZC01XSBJTkZPIGhibTJkZGwuVGFibGVNZXRhZGF0YSAgLSB0YWJsZSBmb3VuZDogY29lZmZpY2ll bnQuY29lZmZpY2llDQpudF9tb2R1bGVfc3RhdGlzdGljc19kYXRhDQo3NjUxIFtUaHJlYWQtNV0g SU5GTyBoYm0yZGRsLlRhYmxlTWV0YWRhdGEgIC0gY29sdW1uczogW2NhcnJ5X292ZXJfdXBkYXRl X2NvdW50LA0KIGNyZWF0ZV9jb3VudCwgdXBkYXRlX2NvdW50LCBjYXJyeV9vdmVyX2NvbXBsZXRl X2NvdW50LCBjYXJyeV9vdmVyX2NyZWF0ZV9jb3VudCwNCiBjb21wbGV0ZV9jb3VudCwgaWRdDQo3 NjUxIFtUaHJlYWQtNV0gSU5GTyBoYm0yZGRsLlRhYmxlTWV0YWRhdGEgIC0gZm9yZWlnbiBrZXlz OiBbXQ0KNzY1MSBbVGhyZWFkLTVdIElORk8gaGJtMmRkbC5UYWJsZU1ldGFkYXRhICAtIGluZGV4 ZXM6IFtwcmltYXJ5XQ0KNzcyMSBbVGhyZWFkLTVdIElORk8gaGJtMmRkbC5UYWJsZU1ldGFkYXRh ICAtIHRhYmxlIGZvdW5kOiBjb2VmZmljaWVudC5jb2VmZmljaWUNCm50X2NvbmZpZ3VyYXRpb24N Cjc3MjEgW1RocmVhZC01XSBJTkZPIGhibTJkZGwuVGFibGVNZXRhZGF0YSAgLSBjb2x1bW5zOiBb Zm9yX2NsYXNzLCBpZF0NCjc3MjEgW1RocmVhZC01XSBJTkZPIGhibTJkZGwuVGFibGVNZXRhZGF0 YSAgLSBmb3JlaWduIGtleXM6IFtdDQo3NzIxIFtUaHJlYWQtNV0gSU5GTyBoYm0yZGRsLlRhYmxl TWV0YWRhdGEgIC0gaW5kZXhlczogW3ByaW1hcnldDQo3ODAxIFtUaHJlYWQtNV0gSU5GTyBoYm0y ZGRsLlRhYmxlTWV0YWRhdGEgIC0gdGFibGUgZm91bmQ6IGNvZWZmaWNpZW50LmNvZWZmaWNpZQ0K bnRfcHJvamVjdF9hdHRyaWJ1dGVzDQo3ODAxIFtUaHJlYWQtNV0gSU5GTyBoYm0yZGRsLlRhYmxl TWV0YWRhdGEgIC0gY29sdW1uczogW2F0dHJpYnV0ZSwgaWR4LCBwcm9qZWN0Xw0KaWRdDQo3ODAx IFtUaHJlYWQtNV0gSU5GTyBoYm0yZGRsLlRhYmxlTWV0YWRhdGEgIC0gZm9yZWlnbiBrZXlzOiBb XQ0KNzgwMSBbVGhyZWFkLTVdIElORk8gaGJtMmRkbC5UYWJsZU1ldGFkYXRhICAtIGluZGV4ZXM6 IFtwcmltYXJ5LCBmazVmZDZhZGM3YTc3ZjANCjgyMV0NCjc4NjEgW1RocmVhZC01XSBJTkZPIGhi bTJkZGwuVGFibGVNZXRhZGF0YSAgLSB0YWJsZSBmb3VuZDogY29lZmZpY2llbnQuY29lZmZpY2ll DQpudF9hdHRyaWJ1dGVfZWxlbWVudA0KNzg2MSBbVGhyZWFkLTVdIElORk8gaGJtMmRkbC5UYWJs ZU1ldGFkYXRhICAtIGNvbHVtbnM6IFtkZXNjcmlwdGlvbiwgbmFtZSwgaWRdDQo3ODYxIFtUaHJl YWQtNV0gSU5GTyBoYm0yZGRsLlRhYmxlTWV0YWRhdGEgIC0gZm9yZWlnbiBrZXlzOiBbXQ0KNzg3 MSBbVGhyZWFkLTVdIElORk8gaGJtMmRkbC5UYWJsZU1ldGFkYXRhICAtIGluZGV4ZXM6IFtwcmlt YXJ5XQ0KNzkzMSBbVGhyZWFkLTVdIElORk8gaGJtMmRkbC5UYWJsZU1ldGFkYXRhICAtIHRhYmxl IGZvdW5kOiBjb2VmZmljaWVudC5jb2VmZmljaWUNCm50X3Byb2plY3RfYXR0cmlidXRlc19kYXRh DQo3OTMxIFtUaHJlYWQtNV0gSU5GTyBoYm0yZGRsLlRhYmxlTWV0YWRhdGEgIC0gY29sdW1uczog W2F0dHJpYnV0ZV9kYXRhLCBpZHgsIHBybw0KamVjdF9pZF0NCjc5MzEgW1RocmVhZC01XSBJTkZP IGhibTJkZGwuVGFibGVNZXRhZGF0YSAgLSBmb3JlaWduIGtleXM6IFtdDQo3OTMxIFtUaHJlYWQt NV0gSU5GTyBoYm0yZGRsLlRhYmxlTWV0YWRhdGEgIC0gaW5kZXhlczogW3ByaW1hcnksIGZrYTUz Yzc3MjJhNzdmMA0KODIxLCBma2E1M2M3NzIyYWQ4MTM4ZF0NCjgwMzIgW1RocmVhZC01XSBJTkZP IGhibTJkZGwuVGFibGVNZXRhZGF0YSAgLSB0YWJsZSBmb3VuZDogY29lZmZpY2llbnQuY29lZmZp Y2llDQpudF9wcm9qZWN0DQo4MDMyIFtUaHJlYWQtNV0gSU5GTyBoYm0yZGRsLlRhYmxlTWV0YWRh dGEgIC0gY29sdW1uczogW2N1cnJlbnRfdmVyc2lvbl9pZCwgYWN0aQ0KdmUsIGlzd29ya2Zsb3cs IHJlZ2lzdHJhdGlvbl9kYXRlLCBkZXNjcmlwdGlvbiwgc2hvcnRuYW1lLCBob21lcGFnZSwgdGhl bWVfbmFtZSwNCiBzdGF0aXN0aWNzX2lkLCBuYW1lLCBpc3B1YmxpYywgaWQsIHZlcnNpb25dDQo4 MDMyIFtUaHJlYWQtNV0gSU5GTyBoYm0yZGRsLlRhYmxlTWV0YWRhdGEgIC0gZm9yZWlnbiBrZXlz OiBbXQ0KODAzMiBbVGhyZWFkLTVdIElORk8gaGJtMmRkbC5UYWJsZU1ldGFkYXRhICAtIGluZGV4 ZXM6IFtwcmltYXJ5LCBzaG9ydG5hbWUsIHN0YXQNCmlzdGljc19pZCwgZms1YmRjZDVjZjhjNjU1 NGE4LCBmazViZGNkNWNmYTI2OTk5YjddDQo4MjQyIFtUaHJlYWQtNV0gV0FSTiB1dGlsLkpEQkNF eGNlcHRpb25SZXBvcnRlciAgLSBTUUwgRXJyb3I6IDAsIFNRTFN0YXRlOiAwODAwMw0KDQo4MjQy IFtUaHJlYWQtNV0gRVJST1IgdXRpbC5KREJDRXhjZXB0aW9uUmVwb3J0ZXIgIC0gTm8gb3BlcmF0 aW9ucyBhbGxvd2VkIGFmdGVyDQpjb25uZWN0aW9uIGNsb3NlZC4NCg0KQ29ubmVjdGlvbiB3YXMg Y2xvc2VkIGV4cGxpY2l0bHkgYnkgdGhlIGFwcGxpY2F0aW9uIGF0IHRoZSBmb2xsb3dpbmcgbG9j YXRpb246DQoNCioqIEJFR0lOIE5FU1RFRCBFWENFUFRJT04gKioNCg0KamF2YS5sYW5nLlRocm93 YWJsZQ0KDQpTVEFDS1RSQUNFOg0KDQpqYXZhLmxhbmcuVGhyb3dhYmxlDQogICAgICAgIGF0IGNv bS5teXNxbC5qZGJjLkNvbm5lY3Rpb24uY2xvc2UoQ29ubmVjdGlvbi5qYXZhOjExMjMpDQogICAg ICAgIGF0IG5ldC5zZi5oaWJlcm5hdGUudXRpbC5IaWJlcm5hdGVVdGlsLnVwZGF0ZVNjaGVtYShI aWJlcm5hdGVVdGlsLmphdmE6OA0KMTgpDQogICAgICAgIGF0IG5ldC5zZi5oaWJlcm5hdGUudXRp bC5IaWJlcm5hdGVVdGlsLmNvbmZpZ3VyZUhpYmVybmF0ZUZvckNsYXNzZXMoSGliZQ0Kcm5hdGVV dGlsLmphdmE6MjU5KQ0KICAgICAgICBhdCBuZXQuc2YuaGliZXJuYXRlLnV0aWwuSGliZXJuYXRl VXRpbC48Y2xpbml0PihIaWJlcm5hdGVVdGlsLmphdmE6MTAyKQ0KICAgICAgICBhdCB6YS5vcmcu Y29lZmZpY2llbnQubW9kdWxlcy5jb25maWd1cmF0aW9uLkNvbmZpZ3VyYXRpb24uZ2V0Q29uZmln dXJhdGkNCm9uKENvbmZpZ3VyYXRpb24uamF2YToxMzgpDQogICAgICAgIGF0IHN1bi5yZWZsZWN0 Lk5hdGl2ZU1ldGhvZEFjY2Vzc29ySW1wbC5pbnZva2UwKE5hdGl2ZSBNZXRob2QpDQogICAgICAg IGF0IHN1bi5yZWZsZWN0Lk5hdGl2ZU1ldGhvZEFjY2Vzc29ySW1wbC5pbnZva2UoTmF0aXZlTWV0 aG9kQWNjZXNzb3JJbXBsLg0KamF2YTozOSkNCiAgICAgICAgYXQgc3VuLnJlZmxlY3QuRGVsZWdh dGluZ01ldGhvZEFjY2Vzc29ySW1wbC5pbnZva2UoRGVsZWdhdGluZ01ldGhvZEFjY2VzDQpzb3JJ bXBsLmphdmE6MjUpDQogICAgICAgIGF0IGphdmEubGFuZy5yZWZsZWN0Lk1ldGhvZC5pbnZva2Uo TWV0aG9kLmphdmE6MzI0KQ0KICAgICAgICBhdCBvcmcuYXBhY2hlLmNvbW1vbnMuYmVhbnV0aWxz Lk1ldGhvZFV0aWxzLmludm9rZU1ldGhvZChNZXRob2RVdGlscy5qYXYNCmE6MjUyKQ0KICAgICAg ICBhdCBvcmcuYXBhY2hlLmNvbW1vbnMuYmVhbnV0aWxzLk1ldGhvZFV0aWxzLmludm9rZU1ldGhv ZChNZXRob2RVdGlscy5qYXYNCmE6MTk4KQ0KICAgICAgICBhdCB6YS5vcmcuY29lZmZpY2llbnQu aW52b2tlcnMuYmFzZS5CYXNlSW52b2tlci5pbnZva2VNZXRob2RPbk1vZHVsZShCYXMNCmVJbnZv a2VyLmphdmE6MTE0KQ0KICAgICAgICBhdCB6YS5vcmcuY29lZmZpY2llbnQuY29yZS5CYXNlQ29u ZmlndXJhdGlvbkJhY2tlZENvbnN0YW50cy5pbml0KEJhc2VDb24NCmZpZ3VyYXRpb25CYWNrZWRD b25zdGFudHMuamF2YTo0NSkNCiAgICAgICAgYXQgemEub3JnLmNvZWZmaWNpZW50LmNvcmUuQ29u c3RhbnRzLmluaXQoQ29uc3RhbnRzLmphdmE6NTkpDQogICAgICAgIGF0IHphLm9yZy5jb2VmZmlj aWVudC5jb3JlLkNvbnN0YW50cy48Y2xpbml0PihDb25zdGFudHMuamF2YTo1NSkNCiAgICAgICAg YXQgemEub3JnLmNvZWZmaWNpZW50LmNvcmUuQ29lZmZpY2llbnRXZWJDb250ZXh0Ljxpbml0PihD b2VmZmljaWVudFdlYkNvDQpudGV4dC5qYXZhOjExMCkNCiAgICAgICAgYXQgemEub3JnLmNvZWZm aWNpZW50LnNlcnZsZXQuQ29lZmZpY2llbnRTZXJ2bGV0LmV4ZWN1dGUoQ29lZmZpY2llbnRTZXJ2 DQpsZXQuamF2YToxNTEpDQogICAgICAgIGF0IHphLm9yZy5jb2VmZmljaWVudC5zZXJ2bGV0LkNv ZWZmaWNpZW50U2VydmxldC5kb0dldChDb2VmZmljaWVudFNlcnZsZQ0KdC5qYXZhOjExOCkNCiAg ICAgICAgYXQgamF2YXguc2VydmxldC5odHRwLkh0dHBTZXJ2bGV0LnNlcnZpY2UoSHR0cFNlcnZs ZXQuamF2YTo3NDApDQogICAgICAgIGF0IGphdmF4LnNlcnZsZXQuaHR0cC5IdHRwU2VydmxldC5z ZXJ2aWNlKEh0dHBTZXJ2bGV0LmphdmE6ODUzKQ0KICAgICAgICBhdCBvcmcuYXBhY2hlLmNhdGFs aW5hLmNvcmUuQXBwbGljYXRpb25GaWx0ZXJDaGFpbi5pbnRlcm5hbERvRmlsdGVyKEFwcGwNCmlj YXRpb25GaWx0ZXJDaGFpbi5qYXZhOjI0NykNCiAgICAgICAgYXQgb3JnLmFwYWNoZS5jYXRhbGlu YS5jb3JlLkFwcGxpY2F0aW9uRmlsdGVyQ2hhaW4uZG9GaWx0ZXIoQXBwbGljYXRpb25GDQppbHRl ckNoYWluLmphdmE6MTkzKQ0KICAgICAgICBhdCBvcmcuYXBhY2hlLmNhdGFsaW5hLmNvcmUuU3Rh bmRhcmRXcmFwcGVyVmFsdmUuaW52b2tlKFN0YW5kYXJkV3JhcHBlclYNCmFsdmUuamF2YToyNTYp DQogICAgICAgIGF0IG9yZy5hcGFjaGUuY2F0YWxpbmEuY29yZS5TdGFuZGFyZFBpcGVsaW5lJFN0 YW5kYXJkUGlwZWxpbmVWYWx2ZUNvbnRleA0KdC5pbnZva2VOZXh0KFN0YW5kYXJkUGlwZWxpbmUu amF2YTo2NDMpDQogICAgICAgIGF0IG9yZy5hcGFjaGUuY2F0YWxpbmEuY29yZS5TdGFuZGFyZFBp cGVsaW5lLmludm9rZShTdGFuZGFyZFBpcGVsaW5lLmphdg0KYTo0ODApDQogICAgICAgIGF0IG9y Zy5hcGFjaGUuY2F0YWxpbmEuY29yZS5Db250YWluZXJCYXNlLmludm9rZShDb250YWluZXJCYXNl LmphdmE6OTk1KQ0KDQogICAgICAgIGF0IG9yZy5hcGFjaGUuY2F0YWxpbmEuY29yZS5TdGFuZGFy ZENvbnRleHRWYWx2ZS5pbnZva2UoU3RhbmRhcmRDb250ZXh0Vg0KYWx2ZS5qYXZhOjE5MSkNCiAg ICAgICAgYXQgb3JnLmFwYWNoZS5jYXRhbGluYS5jb3JlLlN0YW5kYXJkUGlwZWxpbmUkU3RhbmRh cmRQaXBlbGluZVZhbHZlQ29udGV4DQp0Lmludm9rZU5leHQoU3RhbmRhcmRQaXBlbGluZS5qYXZh OjY0MykNCiAgICAgICAgYXQgb3JnLmFwYWNoZS5jYXRhbGluYS5jb3JlLlN0YW5kYXJkUGlwZWxp bmUuaW52b2tlKFN0YW5kYXJkUGlwZWxpbmUuamF2DQphOjQ4MCkNCiAgICAgICAgYXQgb3JnLmFw YWNoZS5jYXRhbGluYS5jb3JlLkNvbnRhaW5lckJhc2UuaW52b2tlKENvbnRhaW5lckJhc2UuamF2 YTo5OTUpDQoNCiAgICAgICAgYXQgb3JnLmFwYWNoZS5jYXRhbGluYS5jb3JlLlN0YW5kYXJkQ29u dGV4dC5pbnZva2UoU3RhbmRhcmRDb250ZXh0LmphdmE6DQoyNDE1KQ0KICAgICAgICBhdCBvcmcu YXBhY2hlLmNhdGFsaW5hLmNvcmUuU3RhbmRhcmRIb3N0VmFsdmUuaW52b2tlKFN0YW5kYXJkSG9z dFZhbHZlLmoNCmF2YToxODApDQogICAgICAgIGF0IG9yZy5hcGFjaGUuY2F0YWxpbmEuY29yZS5T dGFuZGFyZFBpcGVsaW5lJFN0YW5kYXJkUGlwZWxpbmVWYWx2ZUNvbnRleA0KdC5pbnZva2VOZXh0 KFN0YW5kYXJkUGlwZWxpbmUuamF2YTo2NDMpDQogICAgICAgIGF0IG9yZy5hcGFjaGUuY2F0YWxp bmEudmFsdmVzLkVycm9yRGlzcGF0Y2hlclZhbHZlLmludm9rZShFcnJvckRpc3BhdGNoZQ0KclZh bHZlLmphdmE6MTcxKQ0KICAgICAgICBhdCBvcmcuYXBhY2hlLmNhdGFsaW5hLmNvcmUuU3RhbmRh cmRQaXBlbGluZSRTdGFuZGFyZFBpcGVsaW5lVmFsdmVDb250ZXgNCnQuaW52b2tlTmV4dChTdGFu ZGFyZFBpcGVsaW5lLmphdmE6NjQxKQ0KICAgICAgICBhdCBvcmcuYXBhY2hlLmNhdGFsaW5hLnZh bHZlcy5FcnJvclJlcG9ydFZhbHZlLmludm9rZShFcnJvclJlcG9ydFZhbHZlLmoNCmF2YToxNzIp DQogICAgICAgIGF0IG9yZy5hcGFjaGUuY2F0YWxpbmEuY29yZS5TdGFuZGFyZFBpcGVsaW5lJFN0 YW5kYXJkUGlwZWxpbmVWYWx2ZUNvbnRleA0KdC5pbnZva2VOZXh0KFN0YW5kYXJkUGlwZWxpbmUu amF2YTo2NDEpDQogICAgICAgIGF0IG9yZy5hcGFjaGUuY2F0YWxpbmEuY29yZS5TdGFuZGFyZFBp cGVsaW5lLmludm9rZShTdGFuZGFyZFBpcGVsaW5lLmphdg0KYTo0ODApDQogICAgICAgIGF0IG9y Zy5hcGFjaGUuY2F0YWxpbmEuY29yZS5Db250YWluZXJCYXNlLmludm9rZShDb250YWluZXJCYXNl LmphdmE6OTk1KQ0KDQogICAgICAgIGF0IG9yZy5hcGFjaGUuY2F0YWxpbmEuY29yZS5TdGFuZGFy ZEVuZ2luZVZhbHZlLmludm9rZShTdGFuZGFyZEVuZ2luZVZhbA0KdmUuamF2YToxNzQpDQogICAg ICAgIGF0IG9yZy5hcGFjaGUuY2F0YWxpbmEuY29yZS5TdGFuZGFyZFBpcGVsaW5lJFN0YW5kYXJk UGlwZWxpbmVWYWx2ZUNvbnRleA0KdC5pbnZva2VOZXh0KFN0YW5kYXJkUGlwZWxpbmUuamF2YTo2 NDMpDQogICAgICAgIGF0IG9yZy5hcGFjaGUuY2F0YWxpbmEuY29yZS5TdGFuZGFyZFBpcGVsaW5l Lmludm9rZShTdGFuZGFyZFBpcGVsaW5lLmphdg0KYTo0ODApDQogICAgICAgIGF0IG9yZy5hcGFj aGUuY2F0YWxpbmEuY29yZS5Db250YWluZXJCYXNlLmludm9rZShDb250YWluZXJCYXNlLmphdmE6 OTk1KQ0KDQogICAgICAgIGF0IG9yZy5hcGFjaGUuY295b3RlLnRvbWNhdDQuQ295b3RlQWRhcHRl ci5zZXJ2aWNlKENveW90ZUFkYXB0ZXIuamF2YToyMg0KMykNCiAgICAgICAgYXQgb3JnLmFwYWNo ZS5jb3lvdGUuaHR0cDExLkh0dHAxMVByb2Nlc3Nvci5wcm9jZXNzKEh0dHAxMVByb2Nlc3Nvci5q YXZhDQo6NTk0KQ0KICAgICAgICBhdCBvcmcuYXBhY2hlLmNveW90ZS5odHRwMTEuSHR0cDExUHJv dG9jb2wkSHR0cDExQ29ubmVjdGlvbkhhbmRsZXIucHJvY2UNCnNzQ29ubmVjdGlvbihIdHRwMTFQ cm90b2NvbC5qYXZhOjM5MikNCiAgICAgICAgYXQgb3JnLmFwYWNoZS50b21jYXQudXRpbC5uZXQu VGNwV29ya2VyVGhyZWFkLnJ1bkl0KFBvb2xUY3BFbmRwb2ludC5qYXZhDQo6NTY1KQ0KICAgICAg ICBhdCBvcmcuYXBhY2hlLnRvbWNhdC51dGlsLnRocmVhZHMuVGhyZWFkUG9vbCRDb250cm9sUnVu bmFibGUucnVuKFRocmVhZFANCm9vbC5qYXZhOjYxOSkNCiAgICAgICAgYXQgamF2YS5sYW5nLlRo cmVhZC5ydW4oVGhyZWFkLmphdmE6NTM2KQ0KDQoNCioqIEVORCBORVNURUQgRVhDRVBUSU9OICoq DQoNCg0KODI1MiBbVGhyZWFkLTVdIFdBUk4gdXRpbC5KREJDRXhjZXB0aW9uUmVwb3J0ZXIgIC0g U1FMIEVycm9yOiAwLCBTUUxTdGF0ZTogMDgwMDMNCg0KODI1MiBbVGhyZWFkLTVdIEVSUk9SIHV0 aWwuSkRCQ0V4Y2VwdGlvblJlcG9ydGVyICAtIE5vIG9wZXJhdGlvbnMgYWxsb3dlZCBhZnRlcg0K Y29ubmVjdGlvbiBjbG9zZWQuDQoNCkNvbm5lY3Rpb24gd2FzIGNsb3NlZCBleHBsaWNpdGx5IGJ5 IHRoZSBhcHBsaWNhdGlvbiBhdCB0aGUgZm9sbG93aW5nIGxvY2F0aW9uOg0KDQoqKiBCRUdJTiBO RVNURUQgRVhDRVBUSU9OICoqDQoNCmphdmEubGFuZy5UaHJvd2FibGUNCg0KU1RBQ0tUUkFDRToN Cg0KamF2YS5sYW5nLlRocm93YWJsZQ0KICAgICAgICBhdCBjb20ubXlzcWwuamRiYy5Db25uZWN0 aW9uLmNsb3NlKENvbm5lY3Rpb24uamF2YToxMTIzKQ0KICAgICAgICBhdCBuZXQuc2YuaGliZXJu YXRlLnV0aWwuSGliZXJuYXRlVXRpbC51cGRhdGVTY2hlbWEoSGliZXJuYXRlVXRpbC5qYXZhOjgN CjE4KQ0KICAgICAgICBhdCBuZXQuc2YuaGliZXJuYXRlLnV0aWwuSGliZXJuYXRlVXRpbC5jb25m aWd1cmVIaWJlcm5hdGVGb3JDbGFzc2VzKEhpYmUNCnJuYXRlVXRpbC5qYXZhOjI1OSkNCiAgICAg ICAgYXQgbmV0LnNmLmhpYmVybmF0ZS51dGlsLkhpYmVybmF0ZVV0aWwuPGNsaW5pdD4oSGliZXJu YXRlVXRpbC5qYXZhOjEwMikNCiAgICAgICAgYXQgemEub3JnLmNvZWZmaWNpZW50Lm1vZHVsZXMu Y29uZmlndXJhdGlvbi5Db25maWd1cmF0aW9uLmdldENvbmZpZ3VyYXRpDQpvbihDb25maWd1cmF0 aW9uLmphdmE6MTM4KQ0KICAgICAgICBhdCBzdW4ucmVmbGVjdC5OYXRpdmVNZXRob2RBY2Nlc3Nv ckltcGwuaW52b2tlMChOYXRpdmUgTWV0aG9kKQ0KICAgICAgICBhdCBzdW4ucmVmbGVjdC5OYXRp dmVNZXRob2RBY2Nlc3NvckltcGwuaW52b2tlKE5hdGl2ZU1ldGhvZEFjY2Vzc29ySW1wbC4NCmph dmE6MzkpDQogICAgICAgIGF0IHN1bi5yZWZsZWN0LkRlbGVnYXRpbmdNZXRob2RBY2Nlc3Nvcklt cGwuaW52b2tlKERlbGVnYXRpbmdNZXRob2RBY2Nlcw0Kc29ySW1wbC5qYXZhOjI1KQ0KICAgICAg ICBhdCBqYXZhLmxhbmcucmVmbGVjdC5NZXRob2QuaW52b2tlKE1ldGhvZC5qYXZhOjMyNCkNCiAg ICAgICAgYXQgb3JnLmFwYWNoZS5jb21tb25zLmJlYW51dGlscy5NZXRob2RVdGlscy5pbnZva2VN ZXRob2QoTWV0aG9kVXRpbHMuamF2DQphOjI1MikNCiAgICAgICAgYXQgb3JnLmFwYWNoZS5jb21t b25zLmJlYW51dGlscy5NZXRob2RVdGlscy5pbnZva2VNZXRob2QoTWV0aG9kVXRpbHMuamF2DQph OjE5OCkNCiAgICAgICAgYXQgemEub3JnLmNvZWZmaWNpZW50Lmludm9rZXJzLmJhc2UuQmFzZUlu dm9rZXIuaW52b2tlTWV0aG9kT25Nb2R1bGUoQmFzDQplSW52b2tlci5qYXZhOjExNCkNCiAgICAg ICAgYXQgemEub3JnLmNvZWZmaWNpZW50LmNvcmUuQmFzZUNvbmZpZ3VyYXRpb25CYWNrZWRDb25z dGFudHMuaW5pdChCYXNlQ29uDQpmaWd1cmF0aW9uQmFja2VkQ29uc3RhbnRzLmphdmE6NDUpDQog ICAgICAgIGF0IHphLm9yZy5jb2VmZmljaWVudC5jb3JlLkNvbnN0YW50cy5pbml0KENvbnN0YW50 cy5qYXZhOjU5KQ0KICAgICAgICBhdCB6YS5vcmcuY29lZmZpY2llbnQuY29yZS5Db25zdGFudHMu PGNsaW5pdD4oQ29uc3RhbnRzLmphdmE6NTUpDQogICAgICAgIGF0IHphLm9yZy5jb2VmZmljaWVu dC5jb3JlLkNvZWZmaWNpZW50V2ViQ29udGV4dC48aW5pdD4oQ29lZmZpY2llbnRXZWJDbw0KbnRl eHQuamF2YToxMTApDQogICAgICAgIGF0IHphLm9yZy5jb2VmZmljaWVudC5zZXJ2bGV0LkNvZWZm aWNpZW50U2VydmxldC5leGVjdXRlKENvZWZmaWNpZW50U2Vydg0KbGV0LmphdmE6MTUxKQ0KICAg ICAgICBhdCB6YS5vcmcuY29lZmZpY2llbnQuc2VydmxldC5Db2VmZmljaWVudFNlcnZsZXQuZG9H ZXQoQ29lZmZpY2llbnRTZXJ2bGUNCnQuamF2YToxMTgpDQogICAgICAgIGF0IGphdmF4LnNlcnZs ZXQuaHR0cC5IdHRwU2VydmxldC5zZXJ2aWNlKEh0dHBTZXJ2bGV0LmphdmE6NzQwKQ0KICAgICAg ICBhdCBqYXZheC5zZXJ2bGV0Lmh0dHAuSHR0cFNlcnZsZXQuc2VydmljZShIdHRwU2VydmxldC5q YXZhOjg1MykNCiAgICAgICAgYXQgb3JnLmFwYWNoZS5jYXRhbGluYS5jb3JlLkFwcGxpY2F0aW9u RmlsdGVyQ2hhaW4uaW50ZXJuYWxEb0ZpbHRlcihBcHBsDQppY2F0aW9uRmlsdGVyQ2hhaW4uamF2 YToyNDcpDQogICAgICAgIGF0IG9yZy5hcGFjaGUuY2F0YWxpbmEuY29yZS5BcHBsaWNhdGlvbkZp bHRlckNoYWluLmRvRmlsdGVyKEFwcGxpY2F0aW9uRg0KaWx0ZXJDaGFpbi5qYXZhOjE5MykNCiAg ICAgICAgYXQgb3JnLmFwYWNoZS5jYXRhbGluYS5jb3JlLlN0YW5kYXJkV3JhcHBlclZhbHZlLmlu dm9rZShTdGFuZGFyZFdyYXBwZXJWDQphbHZlLmphdmE6MjU2KQ0KICAgICAgICBhdCBvcmcuYXBh Y2hlLmNhdGFsaW5hLmNvcmUuU3RhbmRhcmRQaXBlbGluZSRTdGFuZGFyZFBpcGVsaW5lVmFsdmVD b250ZXgNCnQuaW52b2tlTmV4dChTdGFuZGFyZFBpcGVsaW5lLmphdmE6NjQzKQ0KICAgICAgICBh dCBvcmcuYXBhY2hlLmNhdGFsaW5hLmNvcmUuU3RhbmRhcmRQaXBlbGluZS5pbnZva2UoU3RhbmRh cmRQaXBlbGluZS5qYXYNCmE6NDgwKQ0KICAgICAgICBhdCBvcmcuYXBhY2hlLmNhdGFsaW5hLmNv cmUuQ29udGFpbmVyQmFzZS5pbnZva2UoQ29udGFpbmVyQmFzZS5qYXZhOjk5NSkNCg0KICAgICAg ICBhdCBvcmcuYXBhY2hlLmNhdGFsaW5hLmNvcmUuU3RhbmRhcmRDb250ZXh0VmFsdmUuaW52b2tl KFN0YW5kYXJkQ29udGV4dFYNCmFsdmUuamF2YToxOTEpDQogICAgICAgIGF0IG9yZy5hcGFjaGUu Y2F0YWxpbmEuY29yZS5TdGFuZGFyZFBpcGVsaW5lJFN0YW5kYXJkUGlwZWxpbmVWYWx2ZUNvbnRl eA0KdC5pbnZva2VOZXh0KFN0YW5kYXJkUGlwZWxpbmUuamF2YTo2NDMpDQogICAgICAgIGF0IG9y Zy5hcGFjaGUuY2F0YWxpbmEuY29yZS5TdGFuZGFyZFBpcGVsaW5lLmludm9rZShTdGFuZGFyZFBp cGVsaW5lLmphdg0KYTo0ODApDQogICAgICAgIGF0IG9yZy5hcGFjaGUuY2F0YWxpbmEuY29yZS5D b250YWluZXJCYXNlLmludm9rZShDb250YWluZXJCYXNlLmphdmE6OTk1KQ0KDQogICAgICAgIGF0 IG9yZy5hcGFjaGUuY2F0YWxpbmEuY29yZS5TdGFuZGFyZENvbnRleHQuaW52b2tlKFN0YW5kYXJk Q29udGV4dC5qYXZhOg0KMjQxNSkNCiAgICAgICAgYXQgb3JnLmFwYWNoZS5jYXRhbGluYS5jb3Jl LlN0YW5kYXJkSG9zdFZhbHZlLmludm9rZShTdGFuZGFyZEhvc3RWYWx2ZS5qDQphdmE6MTgwKQ0K ICAgICAgICBhdCBvcmcuYXBhY2hlLmNhdGFsaW5hLmNvcmUuU3RhbmRhcmRQaXBlbGluZSRTdGFu ZGFyZFBpcGVsaW5lVmFsdmVDb250ZXgNCnQuaW52b2tlTmV4dChTdGFuZGFyZFBpcGVsaW5lLmph dmE6NjQzKQ0KICAgICAgICBhdCBvcmcuYXBhY2hlLmNhdGFsaW5hLnZhbHZlcy5FcnJvckRpc3Bh dGNoZXJWYWx2ZS5pbnZva2UoRXJyb3JEaXNwYXRjaGUNCnJWYWx2ZS5qYXZhOjE3MSkNCiAgICAg ICAgYXQgb3JnLmFwYWNoZS5jYXRhbGluYS5jb3JlLlN0YW5kYXJkUGlwZWxpbmUkU3RhbmRhcmRQ aXBlbGluZVZhbHZlQ29udGV4DQp0Lmludm9rZU5leHQoU3RhbmRhcmRQaXBlbGluZS5qYXZhOjY0 MSkNCiAgICAgICAgYXQgb3JnLmFwYWNoZS5jYXRhbGluYS52YWx2ZXMuRXJyb3JSZXBvcnRWYWx2 ZS5pbnZva2UoRXJyb3JSZXBvcnRWYWx2ZS5qDQphdmE6MTcyKQ0KICAgICAgICBhdCBvcmcuYXBh Y2hlLmNhdGFsaW5hLmNvcmUuU3RhbmRhcmRQaXBlbGluZSRTdGFuZGFyZFBpcGVsaW5lVmFsdmVD b250ZXgNCnQuaW52b2tlTmV4dChTdGFuZGFyZFBpcGVsaW5lLmphdmE6NjQxKQ0KICAgICAgICBh dCBvcmcuYXBhY2hlLmNhdGFsaW5hLmNvcmUuU3RhbmRhcmRQaXBlbGluZS5pbnZva2UoU3RhbmRh cmRQaXBlbGluZS5qYXYNCmE6NDgwKQ0KICAgICAgICBhdCBvcmcuYXBhY2hlLmNhdGFsaW5hLmNv cmUuQ29udGFpbmVyQmFzZS5pbnZva2UoQ29udGFpbmVyQmFzZS5qYXZhOjk5NSkNCg0KICAgICAg ICBhdCBvcmcuYXBhY2hlLmNhdGFsaW5hLmNvcmUuU3RhbmRhcmRFbmdpbmVWYWx2ZS5pbnZva2Uo U3RhbmRhcmRFbmdpbmVWYWwNCnZlLmphdmE6MTc0KQ0KICAgICAgICBhdCBvcmcuYXBhY2hlLmNh dGFsaW5hLmNvcmUuU3RhbmRhcmRQaXBlbGluZSRTdGFuZGFyZFBpcGVsaW5lVmFsdmVDb250ZXgN CnQuaW52b2tlTmV4dChTdGFuZGFyZFBpcGVsaW5lLmphdmE6NjQzKQ0KICAgICAgICBhdCBvcmcu YXBhY2hlLmNhdGFsaW5hLmNvcmUuU3RhbmRhcmRQaXBlbGluZS5pbnZva2UoU3RhbmRhcmRQaXBl bGluZS5qYXYNCmE6NDgwKQ0KICAgICAgICBhdCBvcmcuYXBhY2hlLmNhdGFsaW5hLmNvcmUuQ29u dGFpbmVyQmFzZS5pbnZva2UoQ29udGFpbmVyQmFzZS5qYXZhOjk5NSkNCg0KICAgICAgICBhdCBv cmcuYXBhY2hlLmNveW90ZS50b21jYXQ0LkNveW90ZUFkYXB0ZXIuc2VydmljZShDb3lvdGVBZGFw dGVyLmphdmE6MjINCjMpDQogICAgICAgIGF0IG9yZy5hcGFjaGUuY295b3RlLmh0dHAxMS5IdHRw MTFQcm9jZXNzb3IucHJvY2VzcyhIdHRwMTFQcm9jZXNzb3IuamF2YQ0KOjU5NCkNCiAgICAgICAg YXQgb3JnLmFwYWNoZS5jb3lvdGUuaHR0cDExLkh0dHAxMVByb3RvY29sJEh0dHAxMUNvbm5lY3Rp b25IYW5kbGVyLnByb2NlDQpzc0Nvbm5lY3Rpb24oSHR0cDExUHJvdG9jb2wuamF2YTozOTIpDQog ICAgICAgIGF0IG9yZy5hcGFjaGUudG9tY2F0LnV0aWwubmV0LlRjcFdvcmtlclRocmVhZC5ydW5J dChQb29sVGNwRW5kcG9pbnQuamF2YQ0KOjU2NSkNCiAgICAgICAgYXQgb3JnLmFwYWNoZS50b21j YXQudXRpbC50aHJlYWRzLlRocmVhZFBvb2wkQ29udHJvbFJ1bm5hYmxlLnJ1bihUaHJlYWRQDQpv b2wuamF2YTo2MTkpDQogICAgICAgIGF0IGphdmEubGFuZy5UaHJlYWQucnVuKFRocmVhZC5qYXZh OjUzNikNCg0KDQoqKiBFTkQgTkVTVEVEIEVYQ0VQVElPTiAqKg0KDQoNCjgzMzIgW0ZpbmFsaXpl cl0gV0FSTiBpbXBsLlNlc3Npb25JbXBsICAtIGZpbmFsaXppbmcgdW5jbG9zZWQgc2Vzc2lvbiB3 aXRoIGNsb3NlDQpkIGNvbm5lY3Rpb24NCm5ldC5zZi5oaWJlcm5hdGUuZXhjZXB0aW9uLkdlbmVy aWNKREJDRXhjZXB0aW9uOiBDb3VsZCBub3QgZXhlY3V0ZSBxdWVyeQ0KICAgICAgICBhdCBuZXQu c2YuaGliZXJuYXRlLmV4Y2VwdGlvbi5FcnJvckNvZGVDb252ZXJ0ZXIuaGFuZGxlZE5vblNwZWNp ZmljRXhjZXANCnRpb24oRXJyb3JDb2RlQ29udmVydGVyLmphdmE6OTApDQogICAgICAgIGF0IG5l dC5zZi5oaWJlcm5hdGUuZXhjZXB0aW9uLkVycm9yQ29kZUNvbnZlcnRlci5jb252ZXJ0KEVycm9y Q29kZUNvbnZlcg0KdGVyLmphdmE6NzkpDQogICAgICAgIGF0IG5ldC5zZi5oaWJlcm5hdGUuZXhj ZXB0aW9uLkpEQkNFeGNlcHRpb25IZWxwZXIuY29udmVydChKREJDRXhjZXB0aW9uSA0KZWxwZXIu amF2YTozMCkNCiAgICAgICAgYXQgbmV0LnNmLmhpYmVybmF0ZS5pbXBsLlNlc3Npb25JbXBsLmNv bnZlcnQoU2Vzc2lvbkltcGwuamF2YTo0MTEwKQ0KICAgICAgICBhdCBuZXQuc2YuaGliZXJuYXRl LmltcGwuU2Vzc2lvbkltcGwuZmluZChTZXNzaW9uSW1wbC5qYXZhOjE1NTYpDQogICAgICAgIGF0 IG5ldC5zZi5oaWJlcm5hdGUuaW1wbC5TZXNzaW9uSW1wbC5maW5kKFNlc3Npb25JbXBsLmphdmE6 MTUzMCkNCiAgICAgICAgYXQgbmV0LnNmLmhpYmVybmF0ZS5pbXBsLlNlc3Npb25JbXBsLmZpbmQo U2Vzc2lvbkltcGwuamF2YToxNTIyKQ0KICAgICAgICBhdCBuZXQuc2YuaGliZXJuYXRlLnV0aWwu SGliZXJuYXRlVXRpbC5maW5kKEhpYmVybmF0ZVV0aWwuamF2YTozNTYpDQogICAgICAgIGF0IHph Lm9yZy5jb2VmZmljaWVudC51dGlsLmNvbW1vbi5Sb2xlcy5nZXRBbGxSb2xlcyhSb2xlcy5qYXZh OjQ5KQ0KICAgICAgICBhdCBzdW4ucmVmbGVjdC5OYXRpdmVNZXRob2RBY2Nlc3NvckltcGwuaW52 b2tlMChOYXRpdmUgTWV0aG9kKQ0KICAgICAgICBhdCBzdW4ucmVmbGVjdC5OYXRpdmVNZXRob2RB Y2Nlc3NvckltcGwuaW52b2tlKE5hdGl2ZU1ldGhvZEFjY2Vzc29ySW1wbC4NCmphdmE6MzkpDQog ICAgICAgIGF0IHN1bi5yZWZsZWN0LkRlbGVnYXRpbmdNZXRob2RBY2Nlc3NvckltcGwuaW52b2tl KERlbGVnYXRpbmdNZXRob2RBY2Nlcw0Kc29ySW1wbC5qYXZhOjI1KQ0KICAgICAgICBhdCBqYXZh LmxhbmcucmVmbGVjdC5NZXRob2QuaW52b2tlKE1ldGhvZC5qYXZhOjMyNCkNCiAgICAgICAgYXQg b3JnLmFwYWNoZS5jb21tb25zLmJlYW51dGlscy5NZXRob2RVdGlscy5pbnZva2VNZXRob2QoTWV0 aG9kVXRpbHMuamF2DQphOjI1MikNCiAgICAgICAgYXQgb3JnLmFwYWNoZS5jb21tb25zLmJlYW51 dGlscy5NZXRob2RVdGlscy5pbnZva2VNZXRob2QoTWV0aG9kVXRpbHMuamF2DQphOjE5OCkNCiAg ICAgICAgYXQgemEub3JnLmNvZWZmaWNpZW50Lmludm9rZXJzLmJhc2UuQmFzZUludm9rZXIuaW52 b2tlTWV0aG9kT25TZXJ2aWNlKEJhDQpzZUludm9rZXIuamF2YToxMzgpDQogICAgICAgIGF0IHph Lm9yZy5jb2VmZmljaWVudC51dGlsLmVqYi5EYXRhTG9hZGVyVXRpbC5jcmVhdGVEZWZhdWx0Um9s ZXNJZk5lZWRlZA0KKERhdGFMb2FkZXJVdGlsLmphdmE6MTYzKQ0KICAgICAgICBhdCB6YS5vcmcu Y29lZmZpY2llbnQudXRpbC5lamIuRGF0YUxvYWRlclV0aWwuaW5pdGlhbGl6ZURhdGFJZk5lZWRl ZChEYXQNCmFMb2FkZXJVdGlsLmphdmE6MTQwKQ0KICAgICAgICBhdCBzdW4ucmVmbGVjdC5OYXRp dmVNZXRob2RBY2Nlc3NvckltcGwuaW52b2tlMChOYXRpdmUgTWV0aG9kKQ0KICAgICAgICBhdCBz dW4ucmVmbGVjdC5OYXRpdmVNZXRob2RBY2Nlc3NvckltcGwuaW52b2tlKE5hdGl2ZU1ldGhvZEFj Y2Vzc29ySW1wbC4NCmphdmE6MzkpDQogICAgICAgIGF0IHN1bi5yZWZsZWN0LkRlbGVnYXRpbmdN ZXRob2RBY2Nlc3NvckltcGwuaW52b2tlKERlbGVnYXRpbmdNZXRob2RBY2Nlcw0Kc29ySW1wbC5q YXZhOjI1KQ0KICAgICAgICBhdCBqYXZhLmxhbmcucmVmbGVjdC5NZXRob2QuaW52b2tlKE1ldGhv ZC5qYXZhOjMyNCkNCiAgICAgICAgYXQgbmV0LnNmLmhpYmVybmF0ZS51dGlsLkhpYmVybmF0ZVV0 aWwuaW52b2tlRGF0YUxvYWRlcihIaWJlcm5hdGVVdGlsLmphDQp2YTo5MDUpDQogICAgICAgIGF0 IG5ldC5zZi5oaWJlcm5hdGUudXRpbC5IaWJlcm5hdGVVdGlsLjxjbGluaXQ+KEhpYmVybmF0ZVV0 aWwuamF2YToxMDMpDQogICAgICAgIGF0IHphLm9yZy5jb2VmZmljaWVudC5tb2R1bGVzLmNvbmZp Z3VyYXRpb24uQ29uZmlndXJhdGlvbi5nZXRDb25maWd1cmF0aQ0Kb24oQ29uZmlndXJhdGlvbi5q YXZhOjEzOCkNCiAgICAgICAgYXQgc3VuLnJlZmxlY3QuTmF0aXZlTWV0aG9kQWNjZXNzb3JJbXBs Lmludm9rZTAoTmF0aXZlIE1ldGhvZCkNCiAgICAgICAgYXQgc3VuLnJlZmxlY3QuTmF0aXZlTWV0 aG9kQWNjZXNzb3JJbXBsLmludm9rZShOYXRpdmVNZXRob2RBY2Nlc3NvckltcGwuDQpqYXZhOjM5 KQ0KICAgICAgICBhdCBzdW4ucmVmbGVjdC5EZWxlZ2F0aW5nTWV0aG9kQWNjZXNzb3JJbXBsLmlu dm9rZShEZWxlZ2F0aW5nTWV0aG9kQWNjZXMNCnNvckltcGwuamF2YToyNSkNCiAgICAgICAgYXQg amF2YS5sYW5nLnJlZmxlY3QuTWV0aG9kLmludm9rZShNZXRob2QuamF2YTozMjQpDQogICAgICAg IGF0IG9yZy5hcGFjaGUuY29tbW9ucy5iZWFudXRpbHMuTWV0aG9kVXRpbHMuaW52b2tlTWV0aG9k KE1ldGhvZFV0aWxzLmphdg0KYToyNTIpDQogICAgICAgIGF0IG9yZy5hcGFjaGUuY29tbW9ucy5i ZWFudXRpbHMuTWV0aG9kVXRpbHMuaW52b2tlTWV0aG9kKE1ldGhvZFV0aWxzLmphdg0KYToxOTgp DQogICAgICAgIGF0IHphLm9yZy5jb2VmZmljaWVudC5pbnZva2Vycy5iYXNlLkJhc2VJbnZva2Vy Lmludm9rZU1ldGhvZE9uTW9kdWxlKEJhcw0KZUludm9rZXIuamF2YToxMTQpDQogICAgICAgIGF0 IHphLm9yZy5jb2VmZmljaWVudC5jb3JlLkJhc2VDb25maWd1cmF0aW9uQmFja2VkQ29uc3RhbnRz LmluaXQoQmFzZUNvbg0KZmlndXJhdGlvbkJhY2tlZENvbnN0YW50cy5qYXZhOjQ1KQ0KICAgICAg ICBhdCB6YS5vcmcuY29lZmZpY2llbnQuY29yZS5Db25zdGFudHMuaW5pdChDb25zdGFudHMuamF2 YTo1OSkNCiAgICAgICAgYXQgemEub3JnLmNvZWZmaWNpZW50LmNvcmUuQ29uc3RhbnRzLjxjbGlu aXQ+KENvbnN0YW50cy5qYXZhOjU1KQ0KICAgICAgICBhdCB6YS5vcmcuY29lZmZpY2llbnQuY29y ZS5Db2VmZmljaWVudFdlYkNvbnRleHQuPGluaXQ+KENvZWZmaWNpZW50V2ViQ28NCm50ZXh0Lmph dmE6MTEwKQ0KICAgICAgICBhdCB6YS5vcmcuY29lZmZpY2llbnQuc2VydmxldC5Db2VmZmljaWVu dFNlcnZsZXQuZXhlY3V0ZShDb2VmZmljaWVudFNlcnYNCmxldC5qYXZhOjE1MSkNCiAgICAgICAg YXQgemEub3JnLmNvZWZmaWNpZW50LnNlcnZsZXQuQ29lZmZpY2llbnRTZXJ2bGV0LmRvR2V0KENv ZWZmaWNpZW50U2VydmxlDQp0LmphdmE6MTE4KQ0KICAgICAgICBhdCBqYXZheC5zZXJ2bGV0Lmh0 dHAuSHR0cFNlcnZsZXQuc2VydmljZShIdHRwU2VydmxldC5qYXZhOjc0MCkNCiAgICAgICAgYXQg amF2YXguc2VydmxldC5odHRwLkh0dHBTZXJ2bGV0LnNlcnZpY2UoSHR0cFNlcnZsZXQuamF2YTo4 NTMpDQogICAgICAgIGF0IG9yZy5hcGFjaGUuY2F0YWxpbmEuY29yZS5BcHBsaWNhdGlvbkZpbHRl ckNoYWluLmludGVybmFsRG9GaWx0ZXIoQXBwbA0KaWNhdGlvbkZpbHRlckNoYWluLmphdmE6MjQ3 KQ0KICAgICAgICBhdCBvcmcuYXBhY2hlLmNhdGFsaW5hLmNvcmUuQXBwbGljYXRpb25GaWx0ZXJD aGFpbi5kb0ZpbHRlcihBcHBsaWNhdGlvbkYNCmlsdGVyQ2hhaW4uamF2YToxOTMpDQogICAgICAg IGF0IG9yZy5hcGFjaGUuY2F0YWxpbmEuY29yZS5TdGFuZGFyZFdyYXBwZXJWYWx2ZS5pbnZva2Uo U3RhbmRhcmRXcmFwcGVyVg0KYWx2ZS5qYXZhOjI1NikNCiAgICAgICAgYXQgb3JnLmFwYWNoZS5j YXRhbGluYS5jb3JlLlN0YW5kYXJkUGlwZWxpbmUkU3RhbmRhcmRQaXBlbGluZVZhbHZlQ29udGV4 DQp0Lmludm9rZU5leHQoU3RhbmRhcmRQaXBlbGluZS5qYXZhOjY0MykNCiAgICAgICAgYXQgb3Jn LmFwYWNoZS5jYXRhbGluYS5jb3JlLlN0YW5kYXJkUGlwZWxpbmUuaW52b2tlKFN0YW5kYXJkUGlw ZWxpbmUuamF2DQphOjQ4MCkNCiAgICAgICAgYXQgb3JnLmFwYWNoZS5jYXRhbGluYS5jb3JlLkNv bnRhaW5lckJhc2UuaW52b2tlKENvbnRhaW5lckJhc2UuamF2YTo5OTUpDQoNCiAgICAgICAgYXQg b3JnLmFwYWNoZS5jYXRhbGluYS5jb3JlLlN0YW5kYXJkQ29udGV4dFZhbHZlLmludm9rZShTdGFu ZGFyZENvbnRleHRWDQphbHZlLmphdmE6MTkxKQ0KICAgICAgICBhdCBvcmcuYXBhY2hlLmNhdGFs aW5hLmNvcmUuU3RhbmRhcmRQaXBlbGluZSRTdGFuZGFyZFBpcGVsaW5lVmFsdmVDb250ZXgNCnQu aW52b2tlTmV4dChTdGFuZGFyZFBpcGVsaW5lLmphdmE6NjQzKQ0KICAgICAgICBhdCBvcmcuYXBh Y2hlLmNhdGFsaW5hLmNvcmUuU3RhbmRhcmRQaXBlbGluZS5pbnZva2UoU3RhbmRhcmRQaXBlbGlu ZS5qYXYNCmE6NDgwKQ0KICAgICAgICBhdCBvcmcuYXBhY2hlLmNhdGFsaW5hLmNvcmUuQ29udGFp bmVyQmFzZS5pbnZva2UoQ29udGFpbmVyQmFzZS5qYXZhOjk5NSkNCg0KICAgICAgICBhdCBvcmcu YXBhY2hlLmNhdGFsaW5hLmNvcmUuU3RhbmRhcmRDb250ZXh0Lmludm9rZShTdGFuZGFyZENvbnRl eHQuamF2YToNCjI0MTUpDQogICAgICAgIGF0IG9yZy5hcGFjaGUuY2F0YWxpbmEuY29yZS5TdGFu ZGFyZEhvc3RWYWx2ZS5pbnZva2UoU3RhbmRhcmRIb3N0VmFsdmUuag0KYXZhOjE4MCkNCiAgICAg ICAgYXQgb3JnLmFwYWNoZS5jYXRhbGluYS5jb3JlLlN0YW5kYXJkUGlwZWxpbmUkU3RhbmRhcmRQ aXBlbGluZVZhbHZlQ29udGV4DQp0Lmludm9rZU5leHQoU3RhbmRhcmRQaXBlbGluZS5qYXZhOjY0 MykNCiAgICAgICAgYXQgb3JnLmFwYWNoZS5jYXRhbGluYS52YWx2ZXMuRXJyb3JEaXNwYXRjaGVy VmFsdmUuaW52b2tlKEVycm9yRGlzcGF0Y2hlDQpyVmFsdmUuamF2YToxNzEpDQogICAgICAgIGF0 IG9yZy5hcGFjaGUuY2F0YWxpbmEuY29yZS5TdGFuZGFyZFBpcGVsaW5lJFN0YW5kYXJkUGlwZWxp bmVWYWx2ZUNvbnRleA0KdC5pbnZva2VOZXh0KFN0YW5kYXJkUGlwZWxpbmUuamF2YTo2NDEpDQog ICAgICAgIGF0IG9yZy5hcGFjaGUuY2F0YWxpbmEudmFsdmVzLkVycm9yUmVwb3J0VmFsdmUuaW52 b2tlKEVycm9yUmVwb3J0VmFsdmUuag0KYXZhOjE3MikNCiAgICAgICAgYXQgb3JnLmFwYWNoZS5j YXRhbGluYS5jb3JlLlN0YW5kYXJkUGlwZWxpbmUkU3RhbmRhcmRQaXBlbGluZVZhbHZlQ29udGV4 DQp0Lmludm9rZU5leHQoU3RhbmRhcmRQaXBlbGluZS5qYXZhOjY0MSkNCiAgICAgICAgYXQgb3Jn LmFwYWNoZS5jYXRhbGluYS5jb3JlLlN0YW5kYXJkUGlwZWxpbmUuaW52b2tlKFN0YW5kYXJkUGlw ZWxpbmUuamF2DQphOjQ4MCkNCiAgICAgICAgYXQgb3JnLmFwYWNoZS5jYXRhbGluYS5jb3JlLkNv bnRhaW5lckJhc2UuaW52b2tlKENvbnRhaW5lckJhc2UuamF2YTo5OTUpDQoNCiAgICAgICAgYXQg b3JnLmFwYWNoZS5jYXRhbGluYS5jb3JlLlN0YW5kYXJkRW5naW5lVmFsdmUuaW52b2tlKFN0YW5k YXJkRW5naW5lVmFsDQp2ZS5qYXZhOjE3NCkNCiAgICAgICAgYXQgb3JnLmFwYWNoZS5jYXRhbGlu YS5jb3JlLlN0YW5kYXJkUGlwZWxpbmUkU3RhbmRhcmRQaXBlbGluZVZhbHZlQ29udGV4DQp0Lmlu dm9rZU5leHQoU3RhbmRhcmRQaXBlbGluZS5qYXZhOjY0MykNCiAgICAgICAgYXQgb3JnLmFwYWNo ZS5jYXRhbGluYS5jb3JlLlN0YW5kYXJkUGlwZWxpbmUuaW52b2tlKFN0YW5kYXJkUGlwZWxpbmUu amF2DQphOjQ4MCkNCiAgICAgICAgYXQgb3JnLmFwYWNoZS5jYXRhbGluYS5jb3JlLkNvbnRhaW5l ckJhc2UuaW52b2tlKENvbnRhaW5lckJhc2UuamF2YTo5OTUpDQoNCiAgICAgICAgYXQgb3JnLmFw YWNoZS5jb3lvdGUudG9tY2F0NC5Db3lvdGVBZGFwdGVyLnNlcnZpY2UoQ295b3RlQWRhcHRlci5q YXZhOjIyDQozKQ0KICAgICAgICBhdCBvcmcuYXBhY2hlLmNveW90ZS5odHRwMTEuSHR0cDExUHJv Y2Vzc29yLnByb2Nlc3MoSHR0cDExUHJvY2Vzc29yLmphdmENCjo1OTQpDQogICAgICAgIGF0IG9y Zy5hcGFjaGUuY295b3RlLmh0dHAxMS5IdHRwMTFQcm90b2NvbCRIdHRwMTFDb25uZWN0aW9uSGFu ZGxlci5wcm9jZQ0Kc3NDb25uZWN0aW9uKEh0dHAxMVByb3RvY29sLmphdmE6MzkyKQ0KICAgICAg ICBhdCBvcmcuYXBhY2hlLnRvbWNhdC51dGlsLm5ldC5U... [truncated message content] |
From: Thomas F. <tfo...@us...> - 2005-01-25 10:53:00
|
On Tue, 2005-01-25 at 10:16 +0100, > Could you please help me or indicate me who I could contact in order > to get some help. The best place to ask for help is on the coefficient users list (CC'ed) See: http://sourceforge.net/mail/?group_id=90755 > I have recently seen an article on theserverside on the Coefficient. > There are quite a lot of bad comments on the project however I think > that the issue tracking concept is not reserved to Jira. Nevermind. Cool. Note that the issue tracker was totally redone, so there can no longer be any cause for complaint :) > I wanted to see how Coefficient looks like but I have some troubles > installing it in Tomcat. > I have attached a screenshot of the exception. Could you please help > me ? It looks like coefficient is unable to connect to the database. Please check your connection settings, and that you have the correct jars in tomcat's lib directory. You should also check the log file (probably catalina.out) for a clue as to what is causing the problem. There should be a stack trace in there somewhere. Cheers T -- This message has been scanned for viruses and dangerous content by MailScanner, and is believed to be clean. MailScanner thanks transtec Computers for their support. |
From: Thomas F. <tfo...@cs...> - 2005-01-19 12:34:07
|
On Tue, 2005-01-18 at 17:40 -0500, Carlos Serpa wrote: > I apologize for my clumsiness, a few days ago I checked the log files > in tomcat and it was a mysql user error. The user I created couldn't > access the DB. Since then I have fixed the problem and Coef runs > perfectly Cool! Glad to hear it's running :) > ... except for the fact that under any theme but the default one > the buttons do not load, like the upload, and vote images, even though > I verified the images exist. Weird. It does load them on my installation (although mine is built from cvs). The images are served by org.coefficient.servlet.ImageServlet - can you see any exceptions being thrown? Cheers -- Thomas Fogwill <tfo...@cs...> -- This message has been scanned for viruses and dangerous content by MailScanner, and is believed to be clean. MailScanner thanks transtec Computers for their support. |
From: Thomas F. <tfo...@cs...> - 2005-01-18 12:41:17
|
On Fri, 2005-01-14 at 22:36 -0500, Carlos Serpa wrote: > 3. Copied the files: mysql-connector-java-3.0.15-ga-bin.jar and > mysql-connector-java.jar to jboss-3.2.6RC1/server/default/lib and > jboss-3.2.6RC1/lib I don't really use mysql, so excuse my cluelessness :) Why 2 jar files? Also, just checking - what version of mysql are you running? Could it be some version incompatibility (i.e. between the driver and the server)? > ... > 6. Ran jboss, a lot files seemed to have been worked on as I saw jboss > load in the console... > 7. Went into my.server:8080 and after 5-10 seconds I see the header > and footer of coefficient but in the body of the page I see a bunch of > red java code which I will paste at the end and the console I see > this: > > 22:31:50,745 ERROR [ExceptionInterceptor] at: > ExceptionInterceptor.java:50 | operation: unhandled system e > xception | exception type: > ... Are there any errors/exceptions logged? Messages are usually logged to the console and to a file here: ${JBOSS_HOME}/server/default/log/server.log so you can check there. My guess is that (for some reason) coefficient is unable to connect to the db (maybe because it cannot load the driver). Please check your log file for exceptions, as this will give us a clue as to what the problem is. Cheers -- Thomas Fogwill <tfo...@cs...> -- This message has been scanned for viruses and dangerous content by MailScanner, and is believed to be clean. MailScanner thanks transtec Computers for their support. |
From: Carlos S. <zga...@gm...> - 2005-01-15 03:36:11
|
I followed the instructions on how to set up coefficient in JBOSS, but I am still not able to get it going... This is what I did. 1. Downloaded jboss-3.2.6RC1 and installed it. I ran it by itself and connect to it via port 8080 just fine. Set up a db in phpMyadmin and called coef with a user of jboss and pw of password. 2. Download coefficient jboss deploy. Removed the hibernate.jar from both dirs mentioned in the install file. created a datasource called: mysql-ds.xml which contained: <?xml version="1.0" encoding="UTF-8"?> <datasources> <local-tx-datasource> <jndi-name>CoefficientDS</jndi-name> <connection-url>jdbc:mysql:///coef</connection-url> <driver-class>org.gjt.mm.mysql.Driver</driver-class> <user-name>jboss</user-name> <password>password</password> </local-tx-datasource> </datasources> 3. Copied the files: mysql-connector-java-3.0.15-ga-bin.jar and mysql-connector-java.jar to jboss-3.2.6RC1/server/default/lib and jboss-3.2.6RC1/lib 4. Edited the hibernate.properties file with: hibernate.connection.datasource java:/CoefficientDS hibernate.connection.username jboss hibernate.connection.password password #hibernate.show_sql true hibernate.dialect net.sf.hibernate.dialect.MySQLDialect #hibernate.dialect net.sf.hibernate.dialect.PostgreSQLDialect #hibernate.dialect net.sf.hibernate.dialect.Oracle9Dialect #hibernate.dialect net.sf.hibernate.dialect.MySQLDialect hibernate.session_factory_name net.sf.hibernate.SessionFactory hibernate.transaction.factory_class net.sf.hibernate.transaction.JTATransactionFactory hibernate.connection.pool_size 0 5. Ran the .sh updater and copied the updated .ear file into the default/deploy folder along with the other .ear files from the modules folder. 6. Ran jboss, a lot files seemed to have been worked on as I saw jboss load in the console... 7. Went into my.server:8080 and after 5-10 seconds I see the header and footer of coefficient but in the body of the page I see a bunch of red java code which I will paste at the end and the console I see this: 22:31:50,745 ERROR [ExceptionInterceptor] at: ExceptionInterceptor.java:50 | operation: unhandled system e xception | exception type: org.jboss.tm.JBossTransactionRolledbackException | exception message: null; Cau sedByException is: null; nested exception is: java.lang.NullPointerException; - nested throwable: (java.lang.NullPointerException) Any ideas will be much appreciated! There has been a system exception org.jboss.tm.JBossTransactionRolledbackException: null; CausedByException is: null; nested exception is: java.lang.NullPointerException; - nested throwable: (java.lang.NullPointerException) at org.jboss.ejb.plugins.LogInterceptor.handleException(LogInterceptor.java:262) at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:195) at org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invoke(ProxyFactoryFinderInterceptor.java:122) at org.jboss.ejb.StatelessSessionContainer.internalInvoke(StatelessSessionContainer.java:331) at org.jboss.ejb.Container.invoke(Container.java:723) at sun.reflect.GeneratedMethodAccessor65.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at org.jboss.mx.server.ReflectedDispatcher.dispatch(ReflectedDispatcher.java:60) at org.jboss.mx.server.Invocation.dispatch(Invocation.java:61) at org.jboss.mx.server.Invocation.dispatch(Invocation.java:53) at org.jboss.mx.server.Invocation.invoke(Invocation.java:86) at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:185) at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:473) at org.jboss.invocation.local.LocalInvoker.invoke(LocalInvoker.java:97) at org.jboss.invocation.InvokerInterceptor.invoke(InvokerInterceptor.java:90) at org.jboss.proxy.TransactionInterceptor.invoke(TransactionInterceptor.java:46) at org.jboss.proxy.SecurityInterceptor.invoke(SecurityInterceptor.java:53) at org.jboss.proxy.ejb.StatelessSessionInterceptor.invoke(StatelessSessionInterceptor.java:100) at org.jboss.proxy.ClientContainer.invoke(ClientContainer.java:85) at $Proxy235.invokeOpOnModule(Unknown Source) at za.org.coefficient.interceptors.ConfigurationInterceptor.handleInvoke(ConfigurationInterceptor.java:45) at za.org.coefficient.core.CoefficientInterceptor.invoke(CoefficientInterceptor.java:79) at za.org.coefficient.core.CoefficientInterceptor.invoke_aroundBody0(CoefficientInterceptor.java:90) at za.org.coefficient.core.CoefficientInterceptor$AjcClosure1.run(CoefficientInterceptor.java) at za.org.coefficient.aspects.logging.CoefficientLoggingAspect.ajc$around$za_org_coefficient_aspects_logging_CoefficientLoggingAspect$ecbproceed(CoefficientLoggingAspect.java) at za.org.coefficient.aspects.logging.CoefficientLoggingAspect.ajc$around$za_org_coefficient_aspects_logging_CoefficientLoggingAspect$ecb(CoefficientLoggingAspect.java:111) at za.org.coefficient.core.CoefficientInterceptor.invoke(CoefficientInterceptor.java:90) at za.org.coefficient.interceptors.ExceptionInterceptor.invoke(ExceptionInterceptor.java:54) at za.org.coefficient.servlet.CoefficientServlet.invoke_aroundBody0(CoefficientServlet.java:152) at za.org.coefficient.servlet.CoefficientServlet$AjcClosure1.run(CoefficientServlet.java) at za.org.coefficient.aspects.logging.CoefficientLoggingAspect.ajc$around$za_org_coefficient_aspects_logging_CoefficientLoggingAspect$ecbproceed(CoefficientLoggingAspect.java) at za.org.coefficient.aspects.logging.CoefficientLoggingAspect.ajc$around$za_org_coefficient_aspects_logging_CoefficientLoggingAspect$ecb(CoefficientLoggingAspect.java:111) at za.org.coefficient.servlet.CoefficientServlet.execute(CoefficientServlet.java:152) at za.org.coefficient.servlet.CoefficientServlet.doGet(CoefficientServlet.java:118) at javax.servlet.http.HttpServlet.service(HttpServlet.java:697) at javax.servlet.http.HttpServlet.service(HttpServlet.java:810) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520) at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104) at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:72) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102) at org.jboss.web.tomcat.security.JBossSecurityMgrRealm.invoke(JBossSecurityMgrRealm.java:418) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929) at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705) at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683) at java.lang.Thread.run(Thread.java:595) Caused by: java.lang.NullPointerException at za.org.coefficient.modules.configuration.Configuration.canExecuteForRole(Configuration.java:68) at za.org.coefficient.modules.configuration.beans.ConfigurationBean.canExecuteForRole(ConfigurationBean.java:64) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at org.jboss.ejb.StatelessSessionContainer$ContainerInterceptor.invoke(StatelessSessionContainer.java:683) at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invoke(CachedConnectionInterceptor.java:186) at org.jboss.ejb.plugins.StatelessSessionInstanceInterceptor.invoke(StatelessSessionInstanceInterceptor.java:72) at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.java:84) at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:315) at org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:148) at org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.java:120) at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:191) at org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invoke(ProxyFactoryFinderInterceptor.java:122) at org.jboss.ejb.StatelessSessionContainer.internalInvoke(StatelessSessionContainer.java:331) at org.jboss.ejb.Container.invoke(Container.java:723) at org.jboss.ejb.plugins.local.BaseLocalProxyFactory.invoke(BaseLocalProxyFactory.java:364) at org.jboss.ejb.plugins.local.StatelessSessionProxy.invoke(StatelessSessionProxy.java:83) at $Proxy230.canExecuteForRole(Unknown Source) at za.org.coefficient.invokers.base.BaseInvoker.invokeOpOnModule(BaseInvoker.java:177) at za.org.coefficient.invokers.ejb.beans.EjbInvokerBean.invokeOpOnModule(EjbInvokerBean.java:82) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at org.jboss.ejb.StatelessSessionContainer$ContainerInterceptor.invoke(StatelessSessionContainer.java:683) at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invoke(CachedConnectionInterceptor.java:186) at org.jboss.ejb.plugins.StatelessSessionInstanceInterceptor.invoke(StatelessSessionInstanceInterceptor.java:72) at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.java:84) at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:315) at org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:148) at org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.java:120) at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:191) ... 63 more |
From: Thomas F. <tfo...@cs...> - 2005-01-14 08:10:25
|
I CC the coefficient users list, as this may help other people, too. It's also the logical place to ask and answer questions. You can subscribe here: http://lists.sourceforge.net/lists/listinfo/coefficient-users On Wed, 2005-01-12 at 22:44 -0500, Carlos Serpa wrote: > I tried downloading jboss and tomcat, they both run fine, but I can=92t > seem to install coefficient in it=85 I tried to follow all the steps bu= t > in my opinion the install guide is a little vague. How do I create the > datasource? You only need to setup a datasource for the JBoss installation. The datasource can be set up by creating a file in the deploy directory: e.g. ${JBOSS_HOME}/server/default/deploy/ For instance, to create a postgresql datasource, create a file (call it, say, postgres-ds.xml) with the following contents (obviously substituting reasonable values for ${HOST} , ${DB_NAME} , ${DB_USERNAME} and ${PASSWORD}) <?xml version=3D"1.0" encoding=3D"UTF-8"?> <datasources> <local-tx-datasource> <jndi-name>CoefficientDS</jndi-name> <connection-url>jdbc:postgresql://${HOST}/${DB_NAME}</connection-url> <driver-class>org.postgresql.Driver</driver-class> <user-name>${DB_USERNAME}</user-name> <password>${PASSWORD}</password> </local-tx-datasource> </datasources> For the tomcat install, you need to setup up your connection properties as per http://coefficient.sourceforge.net/install/installWA.html In Tomcat, coefficient connects directly to the database. In JBoss, it connects via the datasource. > If you=92d be so kind to provide me (if you have the time) with a more > detailed list of processes in order to get coefficient running I=92d > appreciate it! In return I can provide you bug and issue reports. Cool, and good luck getting it going. If you have more trouble, please mail the users list (which I'm subscribed to). Regards --=20 Thomas Fogwill <tfo...@cs...> --=20 This message has been scanned for viruses and dangerous content by MailScanner, and is believed to be clean. MailScanner thanks transtec Computers for their support. |
From: Dylan E. <de...@cs...> - 2004-11-24 12:31:22
|
Hi Tomas, We will have the 0.9.5 release back up on sourceforge at the latest on Friday. In the future sending a mail directly to the users list is the best way to get a response. Thanks, Dylan Etkin Dylan Etkin ISTC +27 12 841 3200 >>>Tomas Zeman <to...@co...> 11/23 8:07 pm >>> Dear Sir, please where i can download version 0.9.5? I would like to start using it. i will later switch to the version without IP problems. Please could you send me a link where can I downlaod it? Regards Tomas Zeman -- This message has been scanned for viruses and dangerous content by MailScanner, and is believed to be clean. MailScanner thanks transtec Computers for their support. |
From: Dylan E. <de...@cs...> - 2004-11-23 14:51:57
|
Yes we are working on the core of coefficient. We had a release about a week ago of 0.9.5 but we quickly pulled it when we realized that it was a very bad thing that our issue tracker had lifted most of the html and images. In the last week we have completly re-written the issue trackers front-end and a lot of the back-end to support some functional changes. We are planning on re-releasing the 0.9.5 version in the next few days. Dylan Dylan Etkin ISTC +27 12 841 3200 >>>birdknob.com <bir...@us...> 11/23 3:38 pm >>> Message body follows: Is anyone still working on the core coefficient code. I've been trying to run it, but I get db constraint exceptions, and the first page is never displayed - although I can see in the debugger that the html is created. Is there anyone availabe to discuss? (I posted a note to the help forum, but the forums don't really look active.) Thanks for any help. birdknob (-jeffrey) -- This message has been sent to you, a registered SourceForge.net user, by another site user, through the SourceForge.net site. This message has been delivered to your SourceForge.net mail alias. You may reply to this message using the Reply feature of your email client, or using the messaging facility of SourceForge.net at: https://sourceforge.net/sendmessage.php?touser=1163020 -- This message has been scanned for viruses and dangerous content by MailScanner, and is believed to be clean. MailScanner thanks transtec Computers for their support. |
From: Alik K. <al...@do...> - 2004-11-17 14:43:10
|
Hello! I tried to install coeffecient 0.9.5 binaries to Tomcat using instructions from installWA.html. I performed steps 1-8, directed my browser to the URL and got exception: 2004-11-17 16:48:37 StandardWrapperValve[CoefficientServlet]: Servlet.service() for servlet CoefficientServlet threw exception java.lang.NoClassDefFoundError at za.org.coefficient.interceptors.ExceptionInterceptor.invoke(ExceptionInterceptor.java:81) at za.org.coefficient.servlet.CoefficientServlet.invoke_aroundBody0(CoefficientServlet.java:152) at za.org.coefficient.servlet.CoefficientServlet$AjcClosure1.run(CoefficientServlet.java) at za.org.coefficient.aspects.logging.CoefficientLoggingAspect.ajc$around$za_org_coefficient_aspects_logging_CoefficientLoggingAspect$ecbproceed(CoefficientLoggingAspect.java) at za.org.coefficient.aspects.logging.CoefficientLoggingAspect.ajc$around$za_org_coefficient_aspects_logging_CoefficientLoggingAspect$ecb(CoefficientLoggingAspect.java:111) at za.org.coefficient.servlet.CoefficientServlet.execute(CoefficientServlet.java:152) at za.org.coefficient.servlet.CoefficientServlet.doGet(CoefficientServlet.java:118) at javax.servlet.http.HttpServlet.service(HttpServlet.java:689) at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) at <skip..> What was wrong in my actions? I used jakarta-tomcat-5.0.28 clean distribution. best regards, alik. |
From: Dylan E. <de...@cs...> - 2004-11-15 14:12:23
|
Hi, The 0.9.5 binary release of coefficient should happen in the early hours of tommorro, Tuesday the 16th. I am in the last stages of making some little tweeks here and there but CVS is very close to reflecting 0.9.5 as it will be in binary form. Check the site tommorro and if all goes well it will be there. We are also putting up a demo site so that potential users can play before they try to set it up. Thanks, Dylan Etkin Dylan Etkin ISTC +27 12 841 3200 >>>Giuseppe Naselli <na...@un...> 11/15 11:43 am >>> Hi, I write from software development center of University of Catania (Italy), I like your great job on developing Coefficient. I am evaluating to utilize it, and eventually extend. In the documentation i have seen the release 0.9.5 Where i can find the latest binaries? Thanks Giuseppe Naselli -- This message has been scanned for viruses and dangerous content by MailScanner, and is believed to be clean. MailScanner thanks transtec Computers for their support. |
From: <ben...@id...> - 2004-05-25 11:40:37
|
Dear Open Source developer I am doing a research project on "Fun and Software Development" in which I kindly invite you to participate. You will find the online survey under http://fasd.ethz.ch/qsf/. The questionnaire consists of 53 questions and you will need about 15 minutes to complete it. With the FASD project (Fun and Software Development) we want to define the motivational significance of fun when software developers decide to engage in Open Source projects. What is special about our research project is that a similar survey is planned with software developers in commercial firms. This procedure allows the immediate comparison between the involved individuals and the conditions of production of these two development models. Thus we hope to obtain substantial new insights to the phenomenon of Open Source Development. With many thanks for your participation, Benno Luthiger PS: The results of the survey will be published under http://www.isu.unizh.ch/fuehrung/blprojects/FASD/. We have set up the mailing list fa...@we... for this study. Please see http://fasd.ethz.ch/qsf/mailinglist_en.html for registration to this mailing list. _______________________________________________________________________ Benno Luthiger Swiss Federal Institute of Technology Zurich 8092 Zurich Mail: benno.luthiger(at)id.ethz.ch _______________________________________________________________________ |
From: Dylan E. <de...@cs...> - 2004-05-25 06:43:01
|
Hi, We are still working on coefficient. We have been in a crunch at work so we have not been very active at the moment. We have been using coefficient for another project and are planning within the next month or two to role the changes we have made into the core and make another release. Changes include making the projects less of a core module, better security, better separation between view logic and business logic, etc. As to installing coefficient your logs did not come through as an attatchment. I would be happy to look and see if I can spot the issue. Deploying on JBoss should work pretty well, I suggest the latest stable version 3.2.3, but it should work on 3.2.2 as well. The most common issues are that the hibernate.properties is not setup correctly and that your datasource and JDBC driver jar are missing from your JBoss install. As to the tomcat version I would again guess that it has to do with the database setup. Send me your log and I will take a look.Thanks,Dylan Etkin >>>LANCHEC Aurlie <ALA...@mi...> 05/24 5:04 pm >>> Hello detkin, We are currently trying to install coefficient 0.9. The release on Tomcat5 has given several runtime errors (NullPointerException). Then, I tried with a server Jboss 3.2.1 and 3.2.2 but during the server's starting there was problems with the coefficient.ear deployment. The last version (beta) 0.9 has been released on december 2003. What is the roadmap for the next months ? Is a new release planned ? Thank you in advance and congratulations for this work. Aurelie lanchec. PS: If you still support Coefficient, and you have free time for helping us, we've attached the JBoss exceptions which occured (appear to be EJB version problems...) -- This message has been scanned for viruses and dangerous content by MailScanner, and is believed to be clean. MailScanner thanks transtec Computers for their support. |
From: Dylan E. <de...@cs...> - 2004-03-12 08:03:55
|
Hi Brice, Because we are using Hibernate we are not actually generating any SQL ourselves. We do have a few places where we generate hibernate object queries but this should not break your DB. If Coefficient is trying to create tables that contain columns that are keywords then the place to fix this is in our hibernate data objects. We are using xdoclet to generate the hibernate hbm.xml files and therefore the source of the data objects contains metadata that can specify a column name for a given bean property. In Coefficient we have been fairly inconsistent about specifying these column names, by default it will make it the name of the getter/setter field. As an example: If your db has a keyword 'description' and our za.org.coefficient.core.Project object has a description field then hibernate will try to create a column in this table called description. This is where the problems may arise. This same kind of problem can come up in a hibernate query. As an example: HibernateUtil.find("from " + CoefficientUser.class.getName() + " as pe_users where pe_users.userName = ?", userName, Hibernate.STRING) In the above code if your db had 'pe_users' as a keyword this query would freak out on your db. In fact the reason we are using pe_users is because postgres has the keyword 'users'. So what this means is that you will need to look at your exceptions and see who is the offencive object in Coefficient or which is the offencive query and change that keyword. It may also be easy if you see what keyword is being violated to just grep through the src and see where it exits. I hope this helps and if you do make a change and get it working please submit what you have and we will add MaxDB to the list of tested db's. Dylan Etkin -- This message has been scanned for viruses and dangerous content by MailScanner, and is believed to be clean. MailScanner thanks transtec Computers for their support. |
From: <lis...@sa...> - 2004-03-12 07:01:43
|
Read the license carefully though - if used for commercial apps you have to pay license fees. Quoting Brice Ruth <br...@fi...>: > PostgreSQL is an excellent database, but it does lack in certain areas. > MaxDB by MySQL is open-source with a proven enterprise database track > record, it even has an Oracle 7 compatibility mode!! The jdbc drivers > are mature, the installation/setup process is excellent, and the > management tools are on par with those of systems like Oracle and SQL > Server. > > Important for us was the support for UNICODE, which is first rate (our > DB2/400 database supports UNICODE, exporting that data to MySQL didn't > work well, but MaxDB stepped in just fine). The ability to easily setup > hot spare servers, and support for SMP systems are also nice-to-haves > that MaxDB offers! We've yet to touch the backup capabilities, but these > are also available and integrated into the core system, much the same as > SQL Server's backup capabilities. > > So, not dissing' postgres at all, but MaxDB is an outstanding > open-source database ... so good, in fact, that I'm not entirely sure > why MySQL AB is still working on MySQL! MaxDB doesn't seem to suck up > resources, either ... which I was rather surprised with! That's > certainly very different from Oracle :) > > Brice > > Lisa Retief wrote: > > > Hi, > > > > I run coefficient against PostgreSQL and that works great. I am > > surprised that the SAPDB dialect does not work, since hibernate is > > used and thus anything that hibernate supports coefficient will > > support too, right? I am not one of the developers though, so I will > > let them answer properly. > > > > I just don't understand why anyone would not be using PostgreSQL ;-) > > > > Lisa > > > > Brice Ruth wrote: > > > >> I'd like to use Coefficient with MaxDB by MySQL (formerly SAPDB), as > >> it is a more robust enterprise database, compared to vanilla MySQL. > >> However, Coefficient doesn't appear to support the SAPDB dialect that > >> Hibernate supports. MaxDB does have an ORACLE SQL compatibility mode, > >> but it is Oracle 7 compatibility, not Oracle 9. I've tried running > >> Coefficient against MaxDB both with and without Oracle SQL mode > >> enabled ... and I get varying degrees of success. I can get pretty > >> far w/o Oracle SQL mode, but I cannot create a project. If I enable > >> Oracle SQL mode, I can create a project, but the admin cannot approve > >> it (output columns too long). > >> > >> (Note: if I enable Oracle SQL mode from the get-go, I get a series of > >> exceptions thrown when I try to save the installation parameters > >> presented by the first screen, when Coefficient is first installed, > >> my previous success w/ Oracle SQL mode involved switching to this > >> mode *after* initial setup of tables and such) > >> > >> Is there any work going on to make Coefficient more compatible with > >> MaxDB? Is this something that could be easily done by me? I'm pretty > >> proficient with SQL, in general. > >> > >> I'm quite excited about Coefficient in general - looks like its a > >> pretty savvy system, I just really don't want to go back to vanilla > >> MySQL!! > >> > >> Thanks, > >> > > > > -- > Brice D. Ruth > Sr. IT Analyst > Fiskars Brands, Inc. > > > > ------------------------------------------------------- > This SF.Net email is sponsored by: IBM Linux Tutorials > Free Linux tutorial presented by Daniel Robbins, President and CEO of > GenToo technologies. Learn everything from fundamentals to system > administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click > _______________________________________________ > Coefficient-users mailing list > Coe...@li... > https://lists.sourceforge.net/lists/listinfo/coefficient-users > |
From: Brice R. <br...@fi...> - 2004-03-11 19:13:18
|
PostgreSQL is an excellent database, but it does lack in certain areas. MaxDB by MySQL is open-source with a proven enterprise database track record, it even has an Oracle 7 compatibility mode!! The jdbc drivers are mature, the installation/setup process is excellent, and the management tools are on par with those of systems like Oracle and SQL Server. Important for us was the support for UNICODE, which is first rate (our DB2/400 database supports UNICODE, exporting that data to MySQL didn't work well, but MaxDB stepped in just fine). The ability to easily setup hot spare servers, and support for SMP systems are also nice-to-haves that MaxDB offers! We've yet to touch the backup capabilities, but these are also available and integrated into the core system, much the same as SQL Server's backup capabilities. So, not dissing' postgres at all, but MaxDB is an outstanding open-source database ... so good, in fact, that I'm not entirely sure why MySQL AB is still working on MySQL! MaxDB doesn't seem to suck up resources, either ... which I was rather surprised with! That's certainly very different from Oracle :) Brice Lisa Retief wrote: > Hi, > > I run coefficient against PostgreSQL and that works great. I am > surprised that the SAPDB dialect does not work, since hibernate is > used and thus anything that hibernate supports coefficient will > support too, right? I am not one of the developers though, so I will > let them answer properly. > > I just don't understand why anyone would not be using PostgreSQL ;-) > > Lisa > > Brice Ruth wrote: > >> I'd like to use Coefficient with MaxDB by MySQL (formerly SAPDB), as >> it is a more robust enterprise database, compared to vanilla MySQL. >> However, Coefficient doesn't appear to support the SAPDB dialect that >> Hibernate supports. MaxDB does have an ORACLE SQL compatibility mode, >> but it is Oracle 7 compatibility, not Oracle 9. I've tried running >> Coefficient against MaxDB both with and without Oracle SQL mode >> enabled ... and I get varying degrees of success. I can get pretty >> far w/o Oracle SQL mode, but I cannot create a project. If I enable >> Oracle SQL mode, I can create a project, but the admin cannot approve >> it (output columns too long). >> >> (Note: if I enable Oracle SQL mode from the get-go, I get a series of >> exceptions thrown when I try to save the installation parameters >> presented by the first screen, when Coefficient is first installed, >> my previous success w/ Oracle SQL mode involved switching to this >> mode *after* initial setup of tables and such) >> >> Is there any work going on to make Coefficient more compatible with >> MaxDB? Is this something that could be easily done by me? I'm pretty >> proficient with SQL, in general. >> >> I'm quite excited about Coefficient in general - looks like its a >> pretty savvy system, I just really don't want to go back to vanilla >> MySQL!! >> >> Thanks, >> > -- Brice D. Ruth Sr. IT Analyst Fiskars Brands, Inc. |
From: Lisa R. <lis...@sa...> - 2004-03-11 15:12:08
|
Hi, I run coefficient against PostgreSQL and that works great. I am surprised that the SAPDB dialect does not work, since hibernate is used and thus anything that hibernate supports coefficient will support too, right? I am not one of the developers though, so I will let them answer properly. I just don't understand why anyone would not be using PostgreSQL ;-) Lisa Brice Ruth wrote: > I'd like to use Coefficient with MaxDB by MySQL (formerly SAPDB), as > it is a more robust enterprise database, compared to vanilla MySQL. > However, Coefficient doesn't appear to support the SAPDB dialect that > Hibernate supports. MaxDB does have an ORACLE SQL compatibility mode, > but it is Oracle 7 compatibility, not Oracle 9. I've tried running > Coefficient against MaxDB both with and without Oracle SQL mode > enabled ... and I get varying degrees of success. I can get pretty far > w/o Oracle SQL mode, but I cannot create a project. If I enable Oracle > SQL mode, I can create a project, but the admin cannot approve it > (output columns too long). > > (Note: if I enable Oracle SQL mode from the get-go, I get a series of > exceptions thrown when I try to save the installation parameters > presented by the first screen, when Coefficient is first installed, my > previous success w/ Oracle SQL mode involved switching to this mode > *after* initial setup of tables and such) > > Is there any work going on to make Coefficient more compatible with > MaxDB? Is this something that could be easily done by me? I'm pretty > proficient with SQL, in general. > > I'm quite excited about Coefficient in general - looks like its a > pretty savvy system, I just really don't want to go back to vanilla > MySQL!! > > Thanks, > |
From: Brice R. <br...@fi...> - 2004-03-09 16:08:03
|
I'd like to use Coefficient with MaxDB by MySQL (formerly SAPDB), as it is a more robust enterprise database, compared to vanilla MySQL. However, Coefficient doesn't appear to support the SAPDB dialect that Hibernate supports. MaxDB does have an ORACLE SQL compatibility mode, but it is Oracle 7 compatibility, not Oracle 9. I've tried running Coefficient against MaxDB both with and without Oracle SQL mode enabled ... and I get varying degrees of success. I can get pretty far w/o Oracle SQL mode, but I cannot create a project. If I enable Oracle SQL mode, I can create a project, but the admin cannot approve it (output columns too long). (Note: if I enable Oracle SQL mode from the get-go, I get a series of exceptions thrown when I try to save the installation parameters presented by the first screen, when Coefficient is first installed, my previous success w/ Oracle SQL mode involved switching to this mode *after* initial setup of tables and such) Is there any work going on to make Coefficient more compatible with MaxDB? Is this something that could be easily done by me? I'm pretty proficient with SQL, in general. I'm quite excited about Coefficient in general - looks like its a pretty savvy system, I just really don't want to go back to vanilla MySQL!! Thanks, -- Brice D. Ruth Sr. IT Analyst Fiskars Brands, Inc. |
From: Dylan E. <de...@cs...> - 2003-10-10 06:31:08
|
This is just a test message to make sure the mailing list is working. --=20 This message has been scanned for viruses and dangerous content by MailScanner, and is believed to be clean. Mailscanner thanks transtec Computers for their support. |