diff --git a/ADFS_WIA/AdfsWIA.sln b/ADFS_WIA/AdfsWIA.sln
deleted file mode 100644
index 693413bc..00000000
--- a/ADFS_WIA/AdfsWIA.sln
+++ /dev/null
@@ -1,24 +0,0 @@
-Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio Version 16
-VisualStudioVersion = 16.0.30907.101
-MinimumVisualStudioVersion = 10.0.40219.1
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AdfsWIA", "AdfsWIA\AdfsWIA.csproj", "{0BBA1BCD-9E90-40D5-BB3C-F5038676A72F}"
-EndProject
-Global
-	GlobalSection(SolutionConfigurationPlatforms) = preSolution
-		Debug|Any CPU = Debug|Any CPU
-		Release|Any CPU = Release|Any CPU
-	EndGlobalSection
-	GlobalSection(ProjectConfigurationPlatforms) = postSolution
-		{0BBA1BCD-9E90-40D5-BB3C-F5038676A72F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{0BBA1BCD-9E90-40D5-BB3C-F5038676A72F}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{0BBA1BCD-9E90-40D5-BB3C-F5038676A72F}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{0BBA1BCD-9E90-40D5-BB3C-F5038676A72F}.Release|Any CPU.Build.0 = Release|Any CPU
-	EndGlobalSection
-	GlobalSection(SolutionProperties) = preSolution
-		HideSolutionNode = FALSE
-	EndGlobalSection
-	GlobalSection(ExtensibilityGlobals) = postSolution
-		SolutionGuid = {F16C12B3-2F1B-4C6B-92F1-A65144784792}
-	EndGlobalSection
-EndGlobal
diff --git a/ADFS_WIA/AdfsWIA/AdfsWIA.cs b/ADFS_WIA/AdfsWIA/AdfsWIA.cs
deleted file mode 100644
index f3a59665..00000000
--- a/ADFS_WIA/AdfsWIA/AdfsWIA.cs
+++ /dev/null
@@ -1,86 +0,0 @@
-using System;
-using System.IO;
-using System.Net;
-using System.Text.RegularExpressions;
-
-namespace ADFS
-{
-    class AdfsWIA
-    {
-        static int Main(string[] args)
-        {
-            // Check for argument
-            if (args.Length == 0)
-            {
-                Console.WriteLine("Missing idp url. adfs <idp-url> [true|false for insecure. Default is false.]");
-                return -1;
-            }
-
-            bool insecure = false;
-            if (args.Length > 1)
-            {
-                insecure = bool.TryParse(args[1], out insecure);
-            }
-
-            try
-            {
-                AdfsWIA adfsWIA = new AdfsWIA();
-                adfsWIA.GetSAML(args[0], insecure);
-                return 0;
-            }
-            catch (Exception e)
-            {
-                Console.WriteLine(e.Message);
-                return -1;
-            }
-        }
-
-        void GetSAML(string url, bool insecure)
-        {
-            Uri uri = new Uri(url);
-            HttpWebResponse response = getResponse(uri, insecure);
-            string responseStreamData;
-
-            using (StreamReader reader = new StreamReader(response.GetResponseStream()))
-            {
-                responseStreamData = reader.ReadToEnd();
-            }
-
-            Regex reg = new Regex("SAMLResponse\\W+value\\=\\\"([^\\\"]+)\\\"");
-            MatchCollection matches = reg.Matches(responseStreamData);
-            string saml = "";
-            foreach (Match m in matches)
-            {
-                // We used last one, if more than one SAML response
-                saml = m.Groups[1].Value;
-            }
-
-            Console.Write(saml);
-        }
-
-        private HttpWebResponse getResponse(Uri uri, bool insecure)
-        {
-            CredentialCache credCache = new CredentialCache();
-            credCache.Add(uri, "NTLM", CredentialCache.DefaultNetworkCredentials);
-
-            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(uri);
-            request.UserAgent = "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; WOW64; Trident/6.0)";
-            request.AllowAutoRedirect = true;
-            request.KeepAlive = true;
-            request.Credentials = credCache;
-            request.PreAuthenticate = true;
-            request.CookieContainer = new System.Net.CookieContainer();
-            if (insecure)
-            {
-                // Just validate the certificate without verifying it.
-                request.ServerCertificateValidationCallback += (sender, certificate, chain, sslPolicyErrors) => true;
-            }
-
-            // To support TLSv1.2
-            ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3 | SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls;
-
-            return (HttpWebResponse)request.GetResponse();
-        }
-    }
-}
-
diff --git a/ADFS_WIA/AdfsWIA/AdfsWIA.csproj b/ADFS_WIA/AdfsWIA/AdfsWIA.csproj
deleted file mode 100644
index ddd500ca..00000000
--- a/ADFS_WIA/AdfsWIA/AdfsWIA.csproj
+++ /dev/null
@@ -1,71 +0,0 @@
-﻿<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
-  <PropertyGroup>
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
-    <ProjectGuid>{0BBA1BCD-9E90-40D5-BB3C-F5038676A72F}</ProjectGuid>
-    <OutputType>Exe</OutputType>
-    <RootNamespace>ADFS</RootNamespace>
-    <AssemblyName>adfs</AssemblyName>
-    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
-    <FileAlignment>512</FileAlignment>
-    <PublishUrl>publish\</PublishUrl>
-    <Install>true</Install>
-    <InstallFrom>Disk</InstallFrom>
-    <UpdateEnabled>false</UpdateEnabled>
-    <UpdateMode>Foreground</UpdateMode>
-    <UpdateInterval>7</UpdateInterval>
-    <UpdateIntervalUnits>Days</UpdateIntervalUnits>
-    <UpdatePeriodically>false</UpdatePeriodically>
-    <UpdateRequired>false</UpdateRequired>
-    <MapFileExtensions>true</MapFileExtensions>
-    <ApplicationRevision>0</ApplicationRevision>
-    <ApplicationVersion>1.0.0.%2a</ApplicationVersion>
-    <IsWebBootstrapper>false</IsWebBootstrapper>
-    <UseApplicationTrust>false</UseApplicationTrust>
-    <BootstrapperEnabled>true</BootstrapperEnabled>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
-    <PlatformTarget>AnyCPU</PlatformTarget>
-    <DebugSymbols>true</DebugSymbols>
-    <DebugType>full</DebugType>
-    <Optimize>false</Optimize>
-    <OutputPath>bin\Debug\</OutputPath>
-    <DefineConstants>DEBUG;TRACE</DefineConstants>
-    <ErrorReport>prompt</ErrorReport>
-    <WarningLevel>4</WarningLevel>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
-    <PlatformTarget>AnyCPU</PlatformTarget>
-    <DebugType>pdbonly</DebugType>
-    <Optimize>true</Optimize>
-    <OutputPath>bin\Release\</OutputPath>
-    <DefineConstants>TRACE</DefineConstants>
-    <ErrorReport>prompt</ErrorReport>
-    <WarningLevel>4</WarningLevel>
-  </PropertyGroup>
-  <ItemGroup>
-    <Reference Include="System" />
-    <Reference Include="System.Core" />
-    <Reference Include="System.Data.DataSetExtensions" />
-    <Reference Include="Microsoft.CSharp" />
-    <Reference Include="System.Data" />
-    <Reference Include="System.Net.Http" />
-  </ItemGroup>
-  <ItemGroup>
-    <Compile Include="AdfsWIA.cs" />
-    <Compile Include="Properties\AssemblyInfo.cs" />
-  </ItemGroup>
-  <ItemGroup>
-    <None Include="App.config" />
-  </ItemGroup>
-  <ItemGroup>
-    <BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
-      <Visible>False</Visible>
-      <ProductName>.NET Framework 3.5 SP1</ProductName>
-      <Install>false</Install>
-    </BootstrapperPackage>
-  </ItemGroup>
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
-</Project>
\ No newline at end of file
diff --git a/ADFS_WIA/AdfsWIA/App.config b/ADFS_WIA/AdfsWIA/App.config
deleted file mode 100644
index 36616514..00000000
--- a/ADFS_WIA/AdfsWIA/App.config
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="utf-8" ?>
-<configuration>
-    <startup> 
-        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
-    </startup>
-</configuration>
\ No newline at end of file
diff --git a/ADFS_WIA/AdfsWIA/Properties/AssemblyInfo.cs b/ADFS_WIA/AdfsWIA/Properties/AssemblyInfo.cs
deleted file mode 100644
index 36e6e7fb..00000000
--- a/ADFS_WIA/AdfsWIA/Properties/AssemblyInfo.cs
+++ /dev/null
@@ -1,36 +0,0 @@
-using System.Reflection;
-using System.Runtime.CompilerServices;
-using System.Runtime.InteropServices;
-
-// General Information about an assembly is controlled through the following
-// set of attributes. Change these attribute values to modify the information
-// associated with an assembly.
-[assembly: AssemblyTitle("AdfsWIA")]
-[assembly: AssemblyDescription("")]
-[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("")]
-[assembly: AssemblyProduct("AdfsWIA")]
-[assembly: AssemblyCopyright("Copyright  Amazon  2021")]
-[assembly: AssemblyTrademark("")]
-[assembly: AssemblyCulture("")]
-
-// Setting ComVisible to false makes the types in this assembly not visible
-// to COM components.  If you need to access a type in this assembly from
-// COM, set the ComVisible attribute to true on that type.
-[assembly: ComVisible(false)]
-
-// The following GUID is for the ID of the typelib if this project is exposed to COM
-[assembly: Guid("1bba1bce-8e91-50d6-bc4c-e5038676a73e")]
-
-// Version information for an assembly consists of the following four values:
-//
-//      Major Version
-//      Minor Version
-//      Build Number
-//      Revision
-//
-// You can specify all the values or you can default the Build and Revision Numbers
-// by using the '*' as shown below:
-// [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("1.0.0.0")]
-[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/Config b/Config
index 6d95ef7a..e726a443 100644
--- a/Config
+++ b/Config
@@ -29,7 +29,7 @@ package.RedshiftJDBCDriver = {
             Maven = 3.0;
             Gradle = 6.x;
 
-            Groovy = 2.5.11;
+            Groovy = 2.5.x;
             GroovyHttpBuilder = 0.7.1;
             JakartaCommons-lang3 = 3.9.x;
             OdinLocalRetriever = 1.2;
diff --git a/build-tools/bin/custom-build b/build-tools/bin/custom-build
index ede47e05..72008b6c 100755
--- a/build-tools/bin/custom-build
+++ b/build-tools/bin/custom-build
@@ -17,14 +17,6 @@ function externalIntegrationTestCleanup() {
   mv build/lib/ build/external_dist/
   mv build/orig_lib/lib build/
   rm -rf build/orig_lib
-
-  pipelineClusterCleanup
-}
-
-function pipelineClusterCleanup() {
-  echo "Sleeping 2min before deleting cluster..."
-  sleep 300
-  brazil-gradle -PbuildVersion=$VERSION -i -P CI deleteCluster
 }
 
 # a modified brazil-build process that does the following
@@ -131,10 +123,6 @@ elif [ "$1" = "release" ]; then
   build_process
   brazil-gradle additionalCopy
 
-elif [ "$1" = "integrationTest" ]; then
-  trap pipelineClusterCleanup EXIT SIGHUP
-  brazil-gradle $@
-
 # Runs our integration tests against the external jar, built with github-gradle
 elif [ "$1" = "externalIntegrationTest" ]; then
   ls
@@ -155,7 +143,7 @@ elif [ "$1" = "externalIntegrationTest" ]; then
   echo "External build files:"
   ls -l build/lib/
 
-  trap externalIntegrationTestCleanup EXIT SIGHUP
+  trap externalIntegrationTestCleanup EXIT
   # ExternalDist is passed here to prevent a re-build of distribution files,
   # overwriting our external distribution created via custom-build
   user_args=${@:-''}
diff --git a/build.gradle b/build.gradle
index 87b91ddc..6ee3a631 100644
--- a/build.gradle
+++ b/build.gradle
@@ -32,8 +32,8 @@ import amazon.odin.httpquery.model.*
 
 
 def driver = 'new-driver'
-// Pipeline Integration test cluster name
-def clusterId = 'jdbc-ci-pipeline-cluster'
+// Random cluster name
+def clusterId = RandomStringUtils.randomAlphabetic(8);
 // Set this property on ci/cd environment to create cluster for tests
 def runInCI = project.hasProperty("CI")
 // Set this property to skip dependency on brazil-gradle jar when running
@@ -372,7 +372,7 @@ task uploadToS3(type: Exec) {
     commandLine 'bash', '-vx', './upload_to_s3_test.sh', "${version}"
 }
 
-// must run after integrationTestsProcessResources
+// must run after integrationTestsProcessResourcess
 task createCluster() {
     doLast {
         def endpoint = clusterCreate(clusterId)
@@ -394,7 +394,7 @@ task deleteCluster() {
     }
 }
 
-// brazil does not recognise jar files with version suffix
+// brazil doesnot recognise jar files with version suffix
 // so we need to fake jar
 task additionalCopy(type: Copy) {
     dependsOn "renameJar", "copyZip"
@@ -444,8 +444,6 @@ def cluster() {
 
 def clusterCreate(clusterId) {
     println "Cluster ID: ${clusterId}"
-    println "Ensuring previous test run's cluster was deleted..."
-    clusterDelete(clusterId)
     def client = cluster()
     def endpoint = "";
     def request = new CreateClusterRequest()
@@ -454,7 +452,7 @@ def clusterCreate(clusterId) {
             .withMasterUserPassword("test_TEsT_092")
             .withVpcSecurityGroupIds("sg-5a73ee2e")
             .withDBName("test")
-            .withNodeType("dc2.large")
+            .withNodeType("ds2.xlarge")
             .withNumberOfNodes(2)
 
     def response = client.createCluster(request)
@@ -489,7 +487,7 @@ def clusterDelete(clusterId) {
         def result = client.describeClusters(new DescribeClustersRequest()
                 .withClusterIdentifier(clusterId));
         if ((result.getClusters()).get(0).getClusterStatus().equalsIgnoreCase("deleting")) {
-            Thread.sleep(2 * 60 * 1000);
+            Thread.sleep(5 * 1000);
             logger.lifecycle("cluster deleted")
         }
     } catch (ClusterNotFoundException ex) {
diff --git a/gradle.properties b/gradle.properties
index 240fdd20..5e583465 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -1,6 +1,6 @@
 org.gradle.jvmargs=-Xmx1024m
-padbVersion=1.0.31651
-patch=Patch163m
+padbVersion=1.0.27747
+patch=Patch160m
 # properties used for codesigning JDBC driver
 productId=jdbc
 productName=Redshift JDBC Driver
diff --git a/lib/aws-java-sdk-redshift-internal-1.12.x.jar b/lib/aws-java-sdk-redshift-internal-1.12.x.jar
index b5dfa6bd..c92cc806 100644
Binary files a/lib/aws-java-sdk-redshift-internal-1.12.x.jar and b/lib/aws-java-sdk-redshift-internal-1.12.x.jar differ
diff --git a/manual_tests/TestBug36GitHub.java b/manual_tests/TestBug36GitHub.java
deleted file mode 100644
index 2dc5b978..00000000
--- a/manual_tests/TestBug36GitHub.java
+++ /dev/null
@@ -1,38 +0,0 @@
-import java.sql.Connection;
-import java.sql.DatabaseMetaData;
-import java.sql.DriverManager;
-import java.sql.SQLException;
-import java.util.Properties;
-
-public class TestBug36GitHub {
-  static  String IAM_URL = "jdbc:redshift:iam://iggarish-redshift-test-cluster.cvra5hpdt4pd.us-east-1.redshift.amazonaws.com:5439/dev?LogLevel=6;LogPath=~/stdout"; 
-  
-	public static void main(String[] args) throws SQLException {
-		Connection connection = null;
-		TestBug36GitHub ts = new TestBug36GitHub();
-		
-		try {
-			Properties props = new Properties();
-			props.put("Profile", "aws-sso-test");
-			
-			connection = ts.getIAMConnection(props, IAM_URL);
-		}
-		finally {
-			if (connection != null)
-				connection.close();
-		}
-		
-	}
-	
-    private  Connection getIAMConnection(Properties info, String url) throws SQLException {
-      Connection connection = null;   
-      
-      connection = DriverManager.getConnection(url,info); 
-      
-      DatabaseMetaData dm = connection.getMetaData();
-      System.out.println("Connected... Driver Version: " + dm.getDriverVersion());
-
-      return connection;      
-  }
-	
-}
diff --git a/manual_tests/TestBug37GitHub.java b/manual_tests/TestBug37GitHub.java
deleted file mode 100644
index c9178f94..00000000
--- a/manual_tests/TestBug37GitHub.java
+++ /dev/null
@@ -1,77 +0,0 @@
-import java.math.BigDecimal;
-import java.math.BigInteger;
-import java.sql.Connection;
-import java.sql.PreparedStatement;
-import java.sql.ResultSet;
-import java.sql.SQLException;
-import java.sql.Statement;
-
-public class TestBug37GitHub {
-	public static void main(String[] args) throws SQLException {
-		Connection connection = null;
-		TestBug37GitHub ts = new TestBug37GitHub();
-		
-		try {
-			connection = TestUtil.getDebugConnection();
-			
-            ts.setupTable(connection);
-			
-			String sql = "SELECT * FROM test_table LIMIT ?";
-			ts.executePrepareQuery(connection, sql, 100);
-		}
-		finally {
-			if (connection != null) {
-	            ts.dropTable(connection);
-				connection.close();
-			}
-		}
-	}
-	
-	private void executePrepareQuery(Connection connection, String sql, int paramVal) throws SQLException {
-		System.out.println("=============");
-		System.out.println(sql);
-		PreparedStatement pstmt = connection.prepareStatement(sql);
-		pstmt.setObject(1, BigInteger.valueOf(paramVal));
-		ResultSet rs = pstmt.executeQuery();
-		
-		while(rs.next()) {
-				System.out.print(rs.getString(1) + "\t");
-				System.out.println();
-		}
-		
-		rs.close();
-		pstmt.close();
-	}
-	
-    public void setupTable(Connection conn) throws SQLException {
-      Statement stmt = null;
-      try {
-          stmt = conn.createStatement(ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY);
-  
-          stmt.execute("CREATE TABLE test_table(id VARCHAR(10), description VARCHAR(20))");
-          stmt.execute("INSERT INTO test_table VALUES ('1', 'First item')");
-          stmt.execute("INSERT INTO test_table VALUES ('2', 'Second item')");
-          stmt.execute("INSERT INTO test_table VALUES ('3', 'Third item')");
-      } finally {
-          try {
-              if (stmt != null)
-                  stmt.close();
-          } catch (Exception ex) {
-          }
-      }
-    }
-
-    public void dropTable(Connection conn) throws SQLException {
-      Statement stmt = null;
-      try {
-          stmt = conn.createStatement(ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY);
-          stmt.execute("DROP TABLE IF EXISTS test_table");
-      } finally {
-          try {
-              if (stmt != null)
-                  stmt.close();
-          } catch (Exception ex) {
-          }
-      }
-    }
-}
diff --git a/manual_tests/TestD30083776.java b/manual_tests/TestD30083776.java
deleted file mode 100644
index 6b53819e..00000000
--- a/manual_tests/TestD30083776.java
+++ /dev/null
@@ -1,59 +0,0 @@
-import java.io.IOException;
-import java.sql.Connection;
-import java.sql.DatabaseMetaData;
-import java.sql.ResultSet;
-import java.sql.ResultSetMetaData;
-import java.sql.SQLException;
-import java.util.Properties;
-
-public class TestD30083776 {
-
-    public static void main(String[] args) throws Exception {
-  		Connection connection = null;
-  		
-  		try {
-  			Properties props = new Properties();
-  			
-  			connection = TestUtil.getDebugConnection(props);
-  			TestD30083776 test = new TestD30083776();
-
-  			// Create objects
-  			if(args.length > 0)
-  		      TestUtil.executeOneQueryInFile(connection, "./sql/TestD30083776.sql");
-  			
-  			test.getProcedures(connection);
-  		}
-  		finally {
-  			if (connection != null)
-  				connection.close();
-  		}
-    }
-    
-    private void getProcedures(Connection connection) throws SQLException, IOException {
-      DatabaseMetaData dm = connection.getMetaData();
-
-      ResultSet rs = dm.getProcedures(null, null, "prestest");
-      showResult(rs);
-    }
-    
-    private void showResult(ResultSet rs) throws SQLException {
-      ResultSetMetaData rsmd = rs.getMetaData();
-//              displayRsmd(rsmd);
-
-      int colCount = rsmd.getColumnCount();
-      for (int i = 0; i < colCount;i++) {
-              System.out.print(rsmd.getColumnName(i+1) + "\t");
-      }
-
-      System.out.println();
-
-      while(rs.next()) {
-              for (int i = 0; i < colCount;i++) {
-                      System.out.print(rs.getString(i+1) + "\t");
-              }
-              System.out.println();
-      }
-
-      rs.close();
-    }
-}
diff --git a/manual_tests/TestD30854071.java b/manual_tests/TestD30854071.java
deleted file mode 100644
index ec704aca..00000000
--- a/manual_tests/TestD30854071.java
+++ /dev/null
@@ -1,60 +0,0 @@
-import java.io.IOException;
-import java.sql.Connection;
-import java.sql.DatabaseMetaData;
-import java.sql.PreparedStatement;
-import java.sql.ResultSet;
-import java.sql.ResultSetMetaData;
-import java.sql.SQLException;
-import java.util.Properties;
-
-public class TestD30854071 {
-
-    public static void main(String[] args) throws Exception {
-  		Connection connection = null;
-  		
-  		try {
-  			Properties props = new Properties();
-  			
-  			connection = TestUtil.getDebugConnection(props);
-  			TestD30854071 test = new TestD30854071();
-
-  			// Create objects
-  			if(args.length > 0)
-  		      TestUtil.executeOneQueryInFile(connection, "./sql/TestD30854071.sql");
-  			
-  			test.getProcedureColumns(connection);
-  		}
-  		finally {
-  			if (connection != null)
-  				connection.close();
-  		}
-    }
-    
-    private void getProcedureColumns(Connection connection) throws SQLException, IOException {
-      DatabaseMetaData dm = connection.getMetaData();
-
-      ResultSet rs = dm.getProcedureColumns(null, null, "pinouttmtz", null);
-      showResult(rs);
-    }
-    
-    private void showResult(ResultSet rs) throws SQLException {
-      ResultSetMetaData rsmd = rs.getMetaData();
-//              displayRsmd(rsmd);
-
-      int colCount = rsmd.getColumnCount();
-      for (int i = 0; i < colCount;i++) {
-              System.out.print(rsmd.getColumnName(i+1) + "\t");
-      }
-
-      System.out.println();
-
-      while(rs.next()) {
-              for (int i = 0; i < colCount;i++) {
-                      System.out.print(rs.getString(i+1) + "\t");
-              }
-              System.out.println();
-      }
-
-      rs.close();
-    }
-}
diff --git a/manual_tests/TestIAMUserConnectWithGroupFederation.java b/manual_tests/TestIAMUserConnectWithGroupFederation.java
index 9010ce16..1fefcba5 100644
--- a/manual_tests/TestIAMUserConnectWithGroupFederation.java
+++ b/manual_tests/TestIAMUserConnectWithGroupFederation.java
@@ -14,12 +14,8 @@ public class TestIAMUserConnectWithGroupFederation {
 
 	// ilesh's URL
 //	static  String IAM_URL = "jdbc:redshift:iam://iggarish-node-v2-api.c9kmp2riqvqy.us-east-1-devo.redshift-dev.amazonaws.com:5439/dev?DSILogLevel=6;LogPath=/home/iggarish/logs";
-	
 	// kevin's URL
-//	static  String IAM_URL = "jdbc:redshift:iam://luxiangy-test-cred.crx3jeyaarhn.us-east-1-devo.redshift-dev.amazonaws.com:8192/dev?DSILogLevel=6;LogPath=/home/iggarish/logs";
-	
-	// Tianfang's URL
-	static  String IAM_URL = "jdbc:redshift:iam://tianfay-test-db-1.czd2wfzf17tb.us-east-1-devo.redshift-dev.amazonaws.com:8192/dev?DSILogLevel=6;LogPath=/home/iggarish/logs";
+	static  String IAM_URL = "jdbc:redshift:iam://luxiangy-test-cred.crx3jeyaarhn.us-east-1-devo.redshift-dev.amazonaws.com:8192/dev?DSILogLevel=6;LogPath=/home/iggarish/logs";
 	
 	public static void main(String[] args) throws SQLException {
 		Connection connection = null;
@@ -28,8 +24,7 @@ public class TestIAMUserConnectWithGroupFederation {
 			Properties props = new Properties();
 			
 //			ts.setIleshDevClusterProps(props);
-//			ts.setKevinDevClusterProps(props);
-			ts.setTianfangDevClusterPropsForCDO(props);			
+			ts.setKevinDevClusterProps(props);
 			props.put("EndpointUrl", "https://aws-cookie-monster-devo.amazon.com");
 			props.put("Region", "us-east-1");
 			props.put("AutoCreate", "true"); 
@@ -59,14 +54,6 @@ public class TestIAMUserConnectWithGroupFederation {
 //		props.put("AccessKeyID", "xyz");
 //		props.put("SecretAccessKey", "abcd");
 	}
-
-	// CDO role is allowed by V2 API.
-	private void setTianfangDevClusterPropsForCDO(Properties props) {
-		props.put("ClusterID", "tianfay-test-db-1");
-//		props.put("AccessKeyID", "abcd");
-//		props.put("SecretAccessKey", "def");
-//		props.put("SessionToken","1234");
-	}
 	
 	private  Connection getIAMConnection(Properties info, String url, String user) throws SQLException {
 		Connection connection = null;	
diff --git a/manual_tests/TestJwtAzureConnect.java b/manual_tests/TestJwtAzureConnect.java
index 39318575..e3b41c17 100644
--- a/manual_tests/TestJwtAzureConnect.java
+++ b/manual_tests/TestJwtAzureConnect.java
@@ -25,8 +25,7 @@ public class TestJwtAzureConnect {
 //			    String jwt = "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiIxNzAzMTRhYy01OGQ1LTQ4NGQtYTlhOS04NDA5YTIwMzlkMmUiLCJpc3MiOiJodHRwczovL2xvZ2luLm1pY3Jvc29mdG9ubGluZS5jb20vZTQwZDRiYjItNzY3MC00NGFlLWJmYjgtNWRiMDEzMjIxZDcyL3YyLjAiLCJpYXQiOjE2MTIzMDI4MzIsIm5iZiI6MTYxMjMwMjgzMiwiZXhwIjoxNjEyMzA2NzMyLCJhY2N0IjowLCJhaW8iOiJBVFFBeS84VEFBQUFjT1pRSHFOVHBOUGVtamg2a1BubEVTQ0RZZHBadTJqbys4amFxc0RQUEJZYkU5eDMzMGNaYVBEcUxRVXhYK0J6IiwiYXpwIjoiMTcwMzE0YWMtNThkNS00ODRkLWE5YTktODQwOWEyMDM5ZDJlIiwiYXpwYWNyIjoiMCIsIm5hbWUiOiJJbGVzaCBHYXJpc2giLCJvaWQiOiJiMTJiMDZiNi0xNDA1LTQzODktODMwOS1hYTU4ZjUxZTJjNGQiLCJwcmVmZXJyZWRfdXNlcm5hbWUiOiJpZ2dhcmlzaEBhemVudC5vcmciLCJyaCI6IjAuQVRVQXNrc041SEIycmtTX3VGMndFeUlkY3F3VUF4ZlZXRTFJcWFtRUNhSURuUzQxQU13LiIsInNjcCI6IlVzZXIuUmVhZCIsInN1YiI6ImZGUFVzdTdmYzhvTFJUcl9vQkh0Q3diblRJZGpwRUFvU29abkhNek5RR0kiLCJ0aWQiOiJlNDBkNGJiMi03NjcwLTQ0YWUtYmZiOC01ZGIwMTMyMjFkNzIiLCJ1cG4iOiJpZ2dhcmlzaEBhemVudC5vcmciLCJ1dGkiOiJRTHVzXzV5X1lrT00zdUppRTB4N0FBIiwidmVyIjoiMi4wIn0.iZPQpzYhzbd7CxWyate-q7IoqghHYYmG6YPCDKwi59d2WfFPWZ1-g3YlePNEfPuQW47BlUO6BMx1zwqsFgMCyNS3okgmqQuocl7wQDoU27VXWQ3kR-kMEDTyQXH-m3VOamgxecHMjBvUCsJGasp92tqfBVZS-YiBiZhQQz1Ty8my6wlvGdZoeABgHEID11FyBLlHyj2ZQN5XCphHhjsuRuUCf7wP6d-cljCtFVQb-WI7nsE2Q2nCXnmw_RoXRsa10IlgFmMioP_xP9vJoJtXVzO1YEnDvRt_rZx4FciA0Lifu5jdIiT-2Lbp4MgXKHmz6lpCCYkwpxOQcO4G79Gjtg";
 //					String jwt = "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiIxNzAzMTRhYy01OGQ1LTQ4NGQtYTlhOS04NDA5YTIwMzlkMmUiLCJpc3MiOiJodHRwczovL2xvZ2luLm1pY3Jvc29mdG9ubGluZS5jb20vZTQwZDRiYjItNzY3MC00NGFlLWJmYjgtNWRiMDEzMjIxZDcyL3YyLjAiLCJpYXQiOjE2MTIzMDQ2NDAsIm5iZiI6MTYxMjMwNDY0MCwiZXhwIjoxNjEyMzA4NTQwLCJhY2N0IjowLCJhaW8iOiJBU1FBMi84VEFBQUFmRGlZVU8xbTByTldaRTdUOE5KS2t0UzhoenJhQmVzQnJVZjhaN2lXMkhVPSIsImF1dGhfdGltZSI6MTYwODc2NjYxMywiYXpwIjoiMTcwMzE0YWMtNThkNS00ODRkLWE5YTktODQwOWEyMDM5ZDJlIiwiYXpwYWNyIjoiMCIsImZhbWlseV9uYW1lIjoiR2FyaXNoIiwiZ2l2ZW5fbmFtZSI6IklsZWFzaCIsImdyb3VwcyI6WyIzMWIxYzE4Yi1jZjQ4LTRjOWEtOWNhNy0zZGJmMGVlMjVhNDMiXSwiaXBhZGRyIjoiMjA0LjI0Ni4xNjIuNDQiLCJuYW1lIjoiSWxlc2ggR2FyaXNoIiwib2lkIjoiYjEyYjA2YjYtMTQwNS00Mzg5LTgzMDktYWE1OGY1MWUyYzRkIiwicHJlZmVycmVkX3VzZXJuYW1lIjoiaWdnYXJpc2hAYXplbnQub3JnIiwicmgiOiIwLkFUVUFza3NONUhCMnJrU191RjJ3RXlJZGNxd1VBeGZWV0UxSXFhbUVDYUlEblM0MUFNdy4iLCJzY3AiOiJVc2VyLlJlYWQxMTExMTExMTExMTExMTExMTExMTExMTExMTEwMTkgVXNlci5SZWFkMTExMTExMTExMTExMTExMTExMTExMTExMTExMDE4IFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTAxNyBVc2VyLlJlYWQxMTExMTExMTExMTExMTExMTExMTExMTExMTEwMTYgVXNlci5SZWFkMTExMTExMTExMTExMTExMTExMTExMTExMTExMDE1IFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTAxNCBVc2VyLlJlYWQxMTExMTExMTExMTExMTExMTExMTExMTExMTEwMTMgVXNlci5SZWFkMTExMTExMTExMTExMTExMTExMTExMTExMTExMDEyIFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTAxMSBVc2VyLlJlYWQxMTExMTExMTExMTExMTExMTExMTExMTExMTExMTAgVXNlci5SZWFkMTExMTExMTExMTExMTExMTExMTExMTExMTExMTE5IFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTExOCBVc2VyLlJlYWQxMTExMTExMTExMTExMTExMTExMTExMTExMTExMTcgVXNlci5SZWFkMTExMTExMTExMTExMTExMTExMTExMTExMTExMTE2IFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTExNSBVc2VyLlJlYWQxMTExMTExMTExMTExMTExMTExMTExMTExMTExMTQgVXNlci5SZWFkMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEzIFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTExMiBVc2VyLlJlYWQxMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEgVXNlci5SZWFkIiwic2lkIjoiY2EzMjIzNTktZTA5Yi00ZTBmLTkxZDgtZDgzOGViYmQ2YTJhIiwic3ViIjoiZkZQVXN1N2ZjOG9MUlRyX29CSHRDd2JuVElkanBFQW9Tb1puSE16TlFHSSIsInRlbmFudF9jdHJ5IjoiVVMiLCJ0ZW5hbnRfcmVnaW9uX3Njb3BlIjoiTkEiLCJ0aWQiOiJlNDBkNGJiMi03NjcwLTQ0YWUtYmZiOC01ZGIwMTMyMjFkNzIiLCJ1cG4iOiJpZ2dhcmlzaEBhemVudC5vcmciLCJ1dGkiOiJ3cTdfTEpRckRreWowYWlsSTFTSUFBIiwidmVyIjoiMi4wIiwid2lkcyI6WyI5Yjg5NWQ5Mi0yY2QzLTQ0YzctOWQwMi1hNmFjMmQ1ZWE1YzMiLCJiNzlmYmY0ZC0zZWY5LTQ2ODktODE0My03NmIxOTRlODU1MDkiXSwieG1zX3RwbCI6ImVuIn0.YH5UWmYna0aArhrjIi1-3eCY-WwH484oJLWs-aQFEqkXIqdirbnLhU8EGwaHlk1b6rVtRbra7Ayl_uK9ipyQEaEWtc9QgDZ4s7pwfDUKki5B72_okSAUmnTQcvNUp3XyfRO_GLNwVEkjjU6Wn9MnZLqNEG1UPMR5bydFiqJ1uwSJgw2bMOYHrsm1Z4Gaje0Ws-5y1SPpMFOEATKVpXWWg7c707MkJ9UBwjHcisl1OXwuCL7sh6hlqi7tVL1eH8G-Rb5SxKhowC8uxjcEvKLD5nMELLiJnTNJTcnPIwj8klcKjU9JMKfo8BvPEN8O-5dKQes8nHAcb3qSkkkZDJZdqQ";
 //					String jwt = "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiIxNzAzMTRhYy01OGQ1LTQ4NGQtYTlhOS04NDA5YTIwMzlkMmUiLCJpc3MiOiJodHRwczovL2xvZ2luLm1pY3Jvc29mdG9ubGluZS5jb20vZTQwZDRiYjItNzY3MC00NGFlLWJmYjgtNWRiMDEzMjIxZDcyL3YyLjAiLCJpYXQiOjE2MTIzMDUxMjYsIm5iZiI6MTYxMjMwNTEyNiwiZXhwIjoxNjEyMzA5MDI2LCJhY2N0IjowLCJhaW8iOiJFMlpnWUZqZmxmM0V0c1JocC9sTVlkblduYTZIeW54WlN3S096ZnN0eGRBcEhjL0Nrd2NBIiwiYXV0aF90aW1lIjoxNjA4NzY2NjEzLCJhenAiOiIxNzAzMTRhYy01OGQ1LTQ4NGQtYTlhOS04NDA5YTIwMzlkMmUiLCJhenBhY3IiOiIwIiwiZmFtaWx5X25hbWUiOiJHYXJpc2giLCJnaXZlbl9uYW1lIjoiSWxlYXNoIiwiZ3JvdXBzIjpbIjMxYjFjMThiLWNmNDgtNGM5YS05Y2E3LTNkYmYwZWUyNWE0MyJdLCJpcGFkZHIiOiIyMDQuMjQ2LjE2Mi40NCIsIm5hbWUiOiJJbGVzaCBHYXJpc2giLCJvaWQiOiJiMTJiMDZiNi0xNDA1LTQzODktODMwOS1hYTU4ZjUxZTJjNGQiLCJwcmVmZXJyZWRfdXNlcm5hbWUiOiJpZ2dhcmlzaEBhemVudC5vcmciLCJyaCI6IjAuQVRVQXNrc041SEIycmtTX3VGMndFeUlkY3F3VUF4ZlZXRTFJcWFtRUNhSURuUzQxQU13LiIsInNjcCI6IlVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTAxOSBVc2VyLlJlYWQxMTExMTExMTExMTExMTExMTExMTExMTExMTEwMTggVXNlci5SZWFkMTExMTExMTExMTExMTExMTExMTExMTExMTExMDE3IFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTAxNiBVc2VyLlJlYWQxMTExMTExMTExMTExMTExMTExMTExMTExMTEwMTUgVXNlci5SZWFkMTExMTExMTExMTExMTExMTExMTExMTExMTExMDE0IFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTAxMyBVc2VyLlJlYWQxMTExMTExMTExMTExMTExMTExMTExMTExMTEwMTIgVXNlci5SZWFkMTExMTExMTExMTExMTExMTExMTExMTExMTExMDExIFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTExMCBVc2VyLlJlYWQxMTExMTExMTExMTExMTExMTExMTExMTExMTExMTkgVXNlci5SZWFkMTExMTExMTExMTExMTExMTExMTExMTExMTExMTE4Iiwic2lkIjoiY2EzMjIzNTktZTA5Yi00ZTBmLTkxZDgtZDgzOGViYmQ2YTJhIiwic3ViIjoiZkZQVXN1N2ZjOG9MUlRyX29CSHRDd2JuVElkanBFQW9Tb1puSE16TlFHSSIsInRlbmFudF9jdHJ5IjoiVVMiLCJ0ZW5hbnRfcmVnaW9uX3Njb3BlIjoiTkEiLCJ0aWQiOiJlNDBkNGJiMi03NjcwLTQ0YWUtYmZiOC01ZGIwMTMyMjFkNzIiLCJ1cG4iOiJpZ2dhcmlzaEBhemVudC5vcmciLCJ1dGkiOiJmTTlKdHhqTkYwbTduT3JNbklxRkFBIiwidmVyIjoiMi4wIiwid2lkcyI6WyI5Yjg5NWQ5Mi0yY2QzLTQ0YzctOWQwMi1hNmFjMmQ1ZWE1YzMiLCJiNzlmYmY0ZC0zZWY5LTQ2ODktODE0My03NmIxOTRlODU1MDkiXSwieG1zX3RwbCI6ImVuIn0.apyt3sPk7liuoljAyBHwrvZpiuJbGGlPzNYcPCOINUpftIF1dD5dTV7I0DqMaXJcZrsgszj9sDH1er7qu6N6Wq3oTp9AwPRn7FOB8HSGy2uKkwTTq7veT4q4oMTrBiJV7YEpQGImO0H7TzH8UGNhF9-E-qQ0kNqfNO62NsmaM7IPgPTpQdVtKIo7j5Kk_jt6KtQc6u-PRH9L8Fj6MS_DbmfTFnjyCczCzr5n9i9FLsI4w0qtMVZDLEwJez-UG9gmOWkNiouhYtOSws50J5sWqnoiJLQQCBiLs4aMs_CbAzEfZT-6SRTPrsQzfC__BQOmNEyubF7vFfrnqoTcAVdXwQ";
-//					String jwt = "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiIxNzAzMTRhYy01OGQ1LTQ4NGQtYTlhOS04NDA5YTIwMzlkMmUiLCJpc3MiOiJodHRwczovL2xvZ2luLm1pY3Jvc29mdG9ubGluZS5jb20vZTQwZDRiYjItNzY3MC00NGFlLWJmYjgtNWRiMDEzMjIxZDcyL3YyLjAiLCJpYXQiOjE2MTU5MjI5MjAsIm5iZiI6MTYxNTkyMjkyMCwiZXhwIjoxNjE1OTI2ODIwLCJhY2N0IjowLCJhaW8iOiJFMlpnWURqUE5JVmQ1YTNrOGZZNHY5M2JuK2dXNnpEWXVmMHdDT0dadVBlKzBkck9aM0lBIiwiYXV0aF90aW1lIjoxNjE1ODM2NzgyLCJhenAiOiIxNzAzMTRhYy01OGQ1LTQ4NGQtYTlhOS04NDA5YTIwMzlkMmUiLCJhenBhY3IiOiIwIiwiZmFtaWx5X25hbWUiOiJHYXJpc2giLCJnaXZlbl9uYW1lIjoiSWxlYXNoIiwiZ3JvdXBzIjpbIjMxYjFjMThiLWNmNDgtNGM5YS05Y2E3LTNkYmYwZWUyNWE0MyJdLCJpcGFkZHIiOiI1NC4yNDAuMTk4LjM4IiwibmFtZSI6IklsZXNoIEdhcmlzaCIsIm9pZCI6ImIxMmIwNmI2LTE0MDUtNDM4OS04MzA5LWFhNThmNTFlMmM0ZCIsInByZWZlcnJlZF91c2VybmFtZSI6ImlnZ2FyaXNoQGF6ZW50Lm9yZyIsInB3ZF9leHAiOiIxOTAzNTEiLCJwd2RfdXJsIjoiaHR0cHM6Ly9wb3J0YWwubWljcm9zb2Z0b25saW5lLmNvbS9DaGFuZ2VQYXNzd29yZC5hc3B4IiwicmgiOiIwLkFUVUFza3NONUhCMnJrU191RjJ3RXlJZGNxd1VBeGZWV0UxSXFhbUVDYUlEblM0MUFNdy4iLCJzY3AiOiJVc2VyLlJlYWQxMTExMTExMTExMTExMTExMTExMTExMTExMTEwMTkgVXNlci5SZWFkMTExMTExMTExMTExMTExMTExMTExMTExMTExMDE4IFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTAxNyBVc2VyLlJlYWQxMTExMTExMTExMTExMTExMTExMTExMTExMTEwMTYgVXNlci5SZWFkMTExMTExMTExMTExMTExMTExMTExMTExMTExMDE1IFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTAxNCBVc2VyLlJlYWQxMTExMTExMTExMTExMTExMTExMTExMTExMTEwMTMgVXNlci5SZWFkMTExMTExMTExMTExMTExMTExMTExMTExMTExMDEyIFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTAxMSBVc2VyLlJlYWQxMTExMTExMTExMTExMTExMTExMTExMTExMTExMTAgVXNlci5SZWFkMTExMTExMTExMTExMTExMTExMTExMTExMTExMTE5IFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTExOCBVc2VyLlJlYWQxMTExMTExMTExMTExMTExMTExMTExMTExMTExMTcgVXNlci5SZWFkMTExMTExMTExMTExMTExMTExMTExMTExMTExMTE2IFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTExNSBVc2VyLlJlYWQxMTExMTExMTExMTExMTExMTExMTExMTExMTExMTQgVXNlci5SZWFkMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEzIFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTExMiBVc2VyLlJlYWQxMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEgVXNlci5SZWFkIFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTIxIFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTIyIFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTIzIFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTI0IFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTI1IFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTI2IFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTI3IFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTI4IFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTI5IFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTMwIFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTMxIFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTMyIFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTMzIFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTM0IFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTM1IFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTM2IFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTM3IFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTM4IFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTM5IFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTQwIFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTQxIFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTQyIFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTQzIFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTQ0IFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTQ1IFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTQ2IFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTQ3IFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTQ4IFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTQ5IFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTUwIFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTUxIFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTUyIFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTUzIFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTU0IFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTU1IFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTU2IFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTU3IFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTU4IFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTU5IFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTYwIFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTYxIFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTYyIFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTYzIFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTY0IFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTY1IFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTY2IFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTY3IFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTY4IFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTY5IFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTcwIFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTcxIFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTcyIFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTczIFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTc0IFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTc1IFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTc2IFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTc3IFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTc4IFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTc5IFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTgwIFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTgxIFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTgyIFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTgzIFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTg0IFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTg1IFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTg2IFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTg3IFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTg4IFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTg5IFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTkwIFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTkxIFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTkyIFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTkzIFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTk0IFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTk1IFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTk2IFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTk3Iiwic2lkIjoiMTcxMTEwN2YtMjAzNC00ZDg5LTljYzEtYTk5OTY5YWVhYzcyIiwic3ViIjoiZkZQVXN1N2ZjOG9MUlRyX29CSHRDd2JuVElkanBFQW9Tb1puSE16TlFHSSIsInRlbmFudF9jdHJ5IjoiVVMiLCJ0ZW5hbnRfcmVnaW9uX3Njb3BlIjoiTkEiLCJ0aWQiOiJlNDBkNGJiMi03NjcwLTQ0YWUtYmZiOC01ZGIwMTMyMjFkNzIiLCJ1cG4iOiJpZ2dhcmlzaEBhemVudC5vcmciLCJ1dGkiOiJ3MmFWbWRFNUZrLXlRLVRJV0tOTUFBIiwidmVyIjoiMi4wIiwid2lkcyI6WyI5Yjg5NWQ5Mi0yY2QzLTQ0YzctOWQwMi1hNmFjMmQ1ZWE1YzMiLCJiNzlmYmY0ZC0zZWY5LTQ2ODktODE0My03NmIxOTRlODU1MDkiXSwieG1zX3RwbCI6ImVuIn0.CwR-maFYHQh0iNUEJ_paO0yMRRzxjUvWMGapmKsmE-RYpLFQNzYVP1JEtmMnHxQZR9ME2liy0fqNFfM54BeGbeJQmo0lQBxRch5rmfScy1LcIoRU6oi4J6eRciKWaq4Kh7vHa2nKwiEHQkowei4B2-RRHXh_jDRuj4R97PDZZ7NSEjeWbFQNrtFgbCTgNwQTiBjYseGeudxsfVbqEhCU_TqH8sm4ZJndRs_M6xXIC15GDqx6Psroerh1XjfxJ3kKtXbhd6qqJA3H07n28yu4BL1PfZGMePcWW6HWzRV7AvIF8pGWdv7qbCtc2MDknVTSG6LdbqDDk3PodsTeONkTvA";
-					String jwt = "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiIxNzAzMTRhYy01OGQ1LTQ4NGQtYTlhOS04NDA5YTIwMzlkMmUiLCJpc3MiOiJodHRwczovL2xvZ2luLm1pY3Jvc29mdG9ubGluZS5jb20vZTQwZDRiYjItNzY3MC00NGFlLWJmYjgtNWRiMDEzMjIxZDcyL3YyLjAiLCJpYXQiOjE2Mjg4MzU5OTQsIm5iZiI6MTYyODgzNTk5NCwiZXhwIjoxNjI4ODM5ODk0LCJhY2N0IjowLCJhaW8iOiJFMlpnWUJBTXJKeGN0am54UzJYKzljc1RuUTU4cXZhNFZlbkRaSE9DSi83eVBJT1BXN01BIiwiYXV0aF90aW1lIjoxNjI3NjkyODg2LCJhenAiOiIxNzAzMTRhYy01OGQ1LTQ4NGQtYTlhOS04NDA5YTIwMzlkMmUiLCJhenBhY3IiOiIwIiwiZmFtaWx5X25hbWUiOiJHYXJpc2giLCJnaXZlbl9uYW1lIjoiSWxlYXNoIiwiZ3JvdXBzIjpbIjMxYjFjMThiLWNmNDgtNGM5YS05Y2E3LTNkYmYwZWUyNWE0MyIsIjdhYTdmYjM3LTUxMzYtNGI3YS04MTBkLTEyYzZmNTgzYzU3ZSIsIjAxOTM2NDRmLTEzMDItNGVmOC04YTJkLWExNWMyNjIzYTliMiJdLCJpcGFkZHIiOiIyMDQuMjQ2LjE2Mi40MSIsIm5hbWUiOiJJbGVzaCBHYXJpc2giLCJvaWQiOiJiMTJiMDZiNi0xNDA1LTQzODktODMwOS1hYTU4ZjUxZTJjNGQiLCJwcmVmZXJyZWRfdXNlcm5hbWUiOiJpZ2dhcmlzaEBhemVudC5vcmciLCJyaCI6IjAuQVRVQXNrc041SEIycmtTX3VGMndFeUlkY3F3VUF4ZlZXRTFJcWFtRUNhSURuUzQxQU13LiIsInNjcCI6IlVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTAxOSBVc2VyLlJlYWQxMTExMTExMTExMTExMTExMTExMTExMTExMTEwMTggVXNlci5SZWFkMTExMTExMTExMTExMTExMTExMTExMTExMTExMDE3IFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTAxNiBVc2VyLlJlYWQxMTExMTExMTExMTExMTExMTExMTExMTExMTEwMTUgVXNlci5SZWFkMTExMTExMTExMTExMTExMTExMTExMTExMTExMDE0IFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTAxMyBVc2VyLlJlYWQxMTExMTExMTExMTExMTExMTExMTExMTExMTEwMTIgVXNlci5SZWFkMTExMTExMTExMTExMTExMTExMTExMTExMTExMDExIFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTExMCBVc2VyLlJlYWQxMTExMTExMTExMTExMTExMTExMTExMTExMTExMTkgVXNlci5SZWFkMTExMTExMTExMTExMTExMTExMTExMTExMTExMTE4IFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTExNyBVc2VyLlJlYWQxMTExMTExMTExMTExMTExMTExMTExMTExMTExMTYgVXNlci5SZWFkMTExMTExMTExMTExMTExMTExMTExMTExMTExMTE1IFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTExNCBVc2VyLlJlYWQxMTExMTExMTExMTExMTExMTExMTExMTExMTExMTMgVXNlci5SZWFkMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEyIFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTExMSBVc2VyLlJlYWQgVXNlci5SZWFkMTExMTExMTExMTExMTExMTExMTExMTExMTExMjEgVXNlci5SZWFkMTExMTExMTExMTExMTExMTExMTExMTExMTExMjIgVXNlci5SZWFkMTExMTExMTExMTExMTExMTExMTExMTExMTExMjMgVXNlci5SZWFkMTExMTExMTExMTExMTExMTExMTExMTExMTExMjQgVXNlci5SZWFkMTExMTExMTExMTExMTExMTExMTExMTExMTExMjUgVXNlci5SZWFkMTExMTExMTExMTExMTExMTExMTExMTExMTExMjYgVXNlci5SZWFkMTExMTExMTExMTExMTExMTExMTExMTExMTExMjcgVXNlci5SZWFkMTExMTExMTExMTExMTExMTExMTExMTExMTExMjggVXNlci5SZWFkMTExMTExMTExMTExMTExMTExMTExMTExMTExMjkgVXNlci5SZWFkMTExMTExMTExMTExMTExMTExMTExMTExMTExMzAgVXNlci5SZWFkMTExMTExMTExMTExMTExMTExMTExMTExMTExMzEgVXNlci5SZWFkMTExMTExMTExMTExMTExMTExMTExMTExMTExMzIgVXNlci5SZWFkMTExMTExMTExMTExMTExMTExMTExMTExMTExMzMgVXNlci5SZWFkMTExMTExMTExMTExMTExMTExMTExMTExMTExMzQgVXNlci5SZWFkMTExMTExMTExMTExMTExMTExMTExMTExMTExMzUgVXNlci5SZWFkMTExMTExMTExMTExMTExMTExMTExMTExMTExMzYgVXNlci5SZWFkMTExMTExMTExMTExMTExMTExMTExMTExMTExMzcgVXNlci5SZWFkMTExMTExMTExMTExMTExMTExMTExMTExMTExMzggVXNlci5SZWFkMTExMTExMTExMTExMTExMTExMTExMTExMTExMzkgVXNlci5SZWFkMTExMTExMTExMTExMTExMTExMTExMTExMTExNDAgVXNlci5SZWFkMTExMTExMTExMTExMTExMTExMTExMTExMTExNDEgVXNlci5SZWFkMTExMTExMTExMTExMTExMTExMTExMTExMTExNDIgVXNlci5SZWFkMTExMTExMTExMTExMTExMTExMTExMTExMTExNDMgVXNlci5SZWFkMTExMTExMTExMTExMTExMTExMTExMTExMTExNDQgVXNlci5SZWFkMTExMTExMTExMTExMTExMTExMTExMTExMTExNDUgVXNlci5SZWFkMTExMTExMTExMTExMTExMTExMTExMTExMTExNDYgVXNlci5SZWFkMTExMTExMTExMTExMTExMTExMTExMTExMTExNDcgVXNlci5SZWFkMTExMTExMTExMTExMTExMTExMTExMTExMTExNDggVXNlci5SZWFkMTExMTExMTExMTExMTExMTExMTExMTExMTExNDkgVXNlci5SZWFkMTExMTExMTExMTExMTExMTExMTExMTExMTExNTAgVXNlci5SZWFkMTExMTExMTExMTExMTExMTExMTExMTExMTExNTEgVXNlci5SZWFkMTExMTExMTExMTExMTExMTExMTExMTExMTExNTIgVXNlci5SZWFkMTExMTExMTExMTExMTExMTExMTExMTExMTExNTMgVXNlci5SZWFkMTExMTExMTExMTExMTExMTExMTExMTExMTExNTQgVXNlci5SZWFkMTExMTExMTExMTExMTExMTExMTExMTExMTExNTUgVXNlci5SZWFkMTExMTExMTExMTExMTExMTExMTExMTExMTExNTYgVXNlci5SZWFkMTExMTExMTExMTExMTExMTExMTExMTExMTExNTcgVXNlci5SZWFkMTExMTExMTExMTExMTExMTExMTExMTExMTExNTggVXNlci5SZWFkMTExMTExMTExMTExMTExMTExMTExMTExMTExNTkgVXNlci5SZWFkMTExMTExMTExMTExMTExMTExMTExMTExMTExNjAgVXNlci5SZWFkMTExMTExMTExMTExMTExMTExMTExMTExMTExNjEgVXNlci5SZWFkMTExMTExMTExMTExMTExMTExMTExMTExMTExNjIgVXNlci5SZWFkMTExMTExMTExMTExMTExMTExMTExMTExMTExNjMgVXNlci5SZWFkMTExMTExMTExMTExMTExMTExMTExMTExMTExNjQgVXNlci5SZWFkMTExMTExMTExMTExMTExMTExMTExMTExMTExNjUgVXNlci5SZWFkMTExMTExMTExMTExMTExMTExMTExMTExMTExNjYgVXNlci5SZWFkMTExMTExMTExMTExMTExMTExMTExMTExMTExNjcgVXNlci5SZWFkMTExMTExMTExMTExMTExMTExMTExMTExMTExNjggVXNlci5SZWFkMTExMTExMTExMTExMTExMTExMTExMTExMTExNjkgVXNlci5SZWFkMTExMTExMTExMTExMTExMTExMTExMTExMTExNzAgVXNlci5SZWFkMTExMTExMTExMTExMTExMTExMTExMTExMTExNzEgVXNlci5SZWFkMTExMTExMTExMTExMTExMTExMTExMTExMTExNzIgVXNlci5SZWFkMTExMTExMTExMTExMTExMTExMTExMTExMTExNzMgVXNlci5SZWFkMTExMTExMTExMTExMTExMTExMTExMTExMTExNzQgVXNlci5SZWFkMTExMTExMTExMTExMTExMTExMTExMTExMTExNzUgVXNlci5SZWFkMTExMTExMTExMTExMTExMTExMTExMTExMTExNzYgVXNlci5SZWFkMTExMTExMTExMTExMTExMTExMTExMTExMTExNzcgVXNlci5SZWFkMTExMTExMTExMTExMTExMTExMTExMTExMTExNzggVXNlci5SZWFkMTExMTExMTExMTExMTExMTExMTExMTExMTExNzkgVXNlci5SZWFkMTExMTExMTExMTExMTExMTExMTExMTExMTExODAgVXNlci5SZWFkMTExMTExMTExMTExMTExMTExMTExMTExMTExODEgVXNlci5SZWFkMTExMTExMTExMTExMTExMTExMTExMTExMTExODIgVXNlci5SZWFkMTExMTExMTExMTExMTExMTExMTExMTExMTExODMgVXNlci5SZWFkMTExMTExMTExMTExMTExMTExMTExMTExMTExODQgVXNlci5SZWFkMTExMTExMTExMTExMTExMTExMTExMTExMTExODUgVXNlci5SZWFkMTExMTExMTExMTExMTExMTExMTExMTExMTExODYgVXNlci5SZWFkMTExMTExMTExMTExMTExMTExMTExMTExMTExODcgVXNlci5SZWFkMTExMTExMTExMTExMTExMTExMTExMTExMTExODggVXNlci5SZWFkMTExMTExMTExMTExMTExMTExMTExMTExMTExODkgVXNlci5SZWFkMTExMTExMTExMTExMTExMTExMTExMTExMTExOTAgVXNlci5SZWFkMTExMTExMTExMTExMTExMTExMTExMTExMTExOTEgVXNlci5SZWFkMTExMTExMTExMTExMTExMTExMTExMTExMTExOTIgVXNlci5SZWFkMTExMTExMTExMTExMTExMTExMTExMTExMTExOTMgVXNlci5SZWFkMTExMTExMTExMTExMTExMTExMTExMTExMTExOTQgVXNlci5SZWFkMTExMTExMTExMTExMTExMTExMTExMTExMTExOTUgVXNlci5SZWFkMTExMTExMTExMTExMTExMTExMTExMTExMTExOTYgVXNlci5SZWFkMTExMTExMTExMTExMTExMTExMTExMTExMTExOTciLCJzaWQiOiI2NzhhNjNhOC0zODFjLTRkNTItOThlOC00M2IzYjZkZjA5ZDEiLCJzdWIiOiJmRlBVc3U3ZmM4b0xSVHJfb0JIdEN3Ym5USWRqcEVBb1NvWm5ITXpOUUdJIiwidGVuYW50X2N0cnkiOiJVUyIsInRlbmFudF9yZWdpb25fc2NvcGUiOiJOQSIsInRpZCI6ImU0MGQ0YmIyLTc2NzAtNDRhZS1iZmI4LTVkYjAxMzIyMWQ3MiIsInVwbiI6ImlnZ2FyaXNoQGF6ZW50Lm9yZyIsInV0aSI6Im96ZzVjbEp5WFU2VC10TE14aTE4QUEiLCJ2ZXIiOiIyLjAiLCJ4bXNfdHBsIjoiZW4ifQ.f0z2TlccqMiAdwo4peA1yAXXI63pGvOTkSNBg9_mZiGDzB-P6VH4KdAG9QLa9ojZDPYccC12btMFiKfBSyhrpq1r4H2jCpJuOlOo8s0ulX4T5vLV5SqbbGYkNmEKPXOYr6QKz1CREd52gJ8ETJD_SHn6XXJaVC5y_Uy8zANwr9BvCm5poTxUjyHNR4LSgD2qr-4bF097qxJDt2wgrmnsSBVzkwCw0LP6BaMbu_ZxeidsF-Etg7D7qo0edtwqGiH0RR4-1OT7vXF8GiLnFyH4zwMom9WL5boYfVFPIJSKC7-cVgTFcPJ8718QqHHL0Y2qpKTTqX029RhjI0-S67jrQg";
+					String jwt = "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiIxNzAzMTRhYy01OGQ1LTQ4NGQtYTlhOS04NDA5YTIwMzlkMmUiLCJpc3MiOiJodHRwczovL2xvZ2luLm1pY3Jvc29mdG9ubGluZS5jb20vZTQwZDRiYjItNzY3MC00NGFlLWJmYjgtNWRiMDEzMjIxZDcyL3YyLjAiLCJpYXQiOjE2MTU5MjI5MjAsIm5iZiI6MTYxNTkyMjkyMCwiZXhwIjoxNjE1OTI2ODIwLCJhY2N0IjowLCJhaW8iOiJFMlpnWURqUE5JVmQ1YTNrOGZZNHY5M2JuK2dXNnpEWXVmMHdDT0dadVBlKzBkck9aM0lBIiwiYXV0aF90aW1lIjoxNjE1ODM2NzgyLCJhenAiOiIxNzAzMTRhYy01OGQ1LTQ4NGQtYTlhOS04NDA5YTIwMzlkMmUiLCJhenBhY3IiOiIwIiwiZmFtaWx5X25hbWUiOiJHYXJpc2giLCJnaXZlbl9uYW1lIjoiSWxlYXNoIiwiZ3JvdXBzIjpbIjMxYjFjMThiLWNmNDgtNGM5YS05Y2E3LTNkYmYwZWUyNWE0MyJdLCJpcGFkZHIiOiI1NC4yNDAuMTk4LjM4IiwibmFtZSI6IklsZXNoIEdhcmlzaCIsIm9pZCI6ImIxMmIwNmI2LTE0MDUtNDM4OS04MzA5LWFhNThmNTFlMmM0ZCIsInByZWZlcnJlZF91c2VybmFtZSI6ImlnZ2FyaXNoQGF6ZW50Lm9yZyIsInB3ZF9leHAiOiIxOTAzNTEiLCJwd2RfdXJsIjoiaHR0cHM6Ly9wb3J0YWwubWljcm9zb2Z0b25saW5lLmNvbS9DaGFuZ2VQYXNzd29yZC5hc3B4IiwicmgiOiIwLkFUVUFza3NONUhCMnJrU191RjJ3RXlJZGNxd1VBeGZWV0UxSXFhbUVDYUlEblM0MUFNdy4iLCJzY3AiOiJVc2VyLlJlYWQxMTExMTExMTExMTExMTExMTExMTExMTExMTEwMTkgVXNlci5SZWFkMTExMTExMTExMTExMTExMTExMTExMTExMTExMDE4IFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTAxNyBVc2VyLlJlYWQxMTExMTExMTExMTExMTExMTExMTExMTExMTEwMTYgVXNlci5SZWFkMTExMTExMTExMTExMTExMTExMTExMTExMTExMDE1IFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTAxNCBVc2VyLlJlYWQxMTExMTExMTExMTExMTExMTExMTExMTExMTEwMTMgVXNlci5SZWFkMTExMTExMTExMTExMTExMTExMTExMTExMTExMDEyIFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTAxMSBVc2VyLlJlYWQxMTExMTExMTExMTExMTExMTExMTExMTExMTExMTAgVXNlci5SZWFkMTExMTExMTExMTExMTExMTExMTExMTExMTExMTE5IFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTExOCBVc2VyLlJlYWQxMTExMTExMTExMTExMTExMTExMTExMTExMTExMTcgVXNlci5SZWFkMTExMTExMTExMTExMTExMTExMTExMTExMTExMTE2IFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTExNSBVc2VyLlJlYWQxMTExMTExMTExMTExMTExMTExMTExMTExMTExMTQgVXNlci5SZWFkMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEzIFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTExMiBVc2VyLlJlYWQxMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEgVXNlci5SZWFkIFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTIxIFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTIyIFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTIzIFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTI0IFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTI1IFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTI2IFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTI3IFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTI4IFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTI5IFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTMwIFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTMxIFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTMyIFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTMzIFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTM0IFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTM1IFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTM2IFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTM3IFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTM4IFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTM5IFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTQwIFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTQxIFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTQyIFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTQzIFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTQ0IFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTQ1IFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTQ2IFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTQ3IFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTQ4IFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTQ5IFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTUwIFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTUxIFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTUyIFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTUzIFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTU0IFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTU1IFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTU2IFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTU3IFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTU4IFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTU5IFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTYwIFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTYxIFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTYyIFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTYzIFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTY0IFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTY1IFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTY2IFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTY3IFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTY4IFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTY5IFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTcwIFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTcxIFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTcyIFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTczIFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTc0IFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTc1IFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTc2IFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTc3IFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTc4IFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTc5IFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTgwIFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTgxIFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTgyIFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTgzIFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTg0IFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTg1IFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTg2IFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTg3IFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTg4IFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTg5IFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTkwIFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTkxIFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTkyIFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTkzIFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTk0IFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTk1IFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTk2IFVzZXIuUmVhZDExMTExMTExMTExMTExMTExMTExMTExMTExMTk3Iiwic2lkIjoiMTcxMTEwN2YtMjAzNC00ZDg5LTljYzEtYTk5OTY5YWVhYzcyIiwic3ViIjoiZkZQVXN1N2ZjOG9MUlRyX29CSHRDd2JuVElkanBFQW9Tb1puSE16TlFHSSIsInRlbmFudF9jdHJ5IjoiVVMiLCJ0ZW5hbnRfcmVnaW9uX3Njb3BlIjoiTkEiLCJ0aWQiOiJlNDBkNGJiMi03NjcwLTQ0YWUtYmZiOC01ZGIwMTMyMjFkNzIiLCJ1cG4iOiJpZ2dhcmlzaEBhemVudC5vcmciLCJ1dGkiOiJ3MmFWbWRFNUZrLXlRLVRJV0tOTUFBIiwidmVyIjoiMi4wIiwid2lkcyI6WyI5Yjg5NWQ5Mi0yY2QzLTQ0YzctOWQwMi1hNmFjMmQ1ZWE1YzMiLCJiNzlmYmY0ZC0zZWY5LTQ2ODktODE0My03NmIxOTRlODU1MDkiXSwieG1zX3RwbCI6ImVuIn0.CwR-maFYHQh0iNUEJ_paO0yMRRzxjUvWMGapmKsmE-RYpLFQNzYVP1JEtmMnHxQZR9ME2liy0fqNFfM54BeGbeJQmo0lQBxRch5rmfScy1LcIoRU6oi4J6eRciKWaq4Kh7vHa2nKwiEHQkowei4B2-RRHXh_jDRuj4R97PDZZ7NSEjeWbFQNrtFgbCTgNwQTiBjYseGeudxsfVbqEhCU_TqH8sm4ZJndRs_M6xXIC15GDqx6Psroerh1XjfxJ3kKtXbhd6qqJA3H07n28yu4BL1PfZGMePcWW6HWzRV7AvIF8pGWdv7qbCtc2MDknVTSG6LdbqDDk3PodsTeONkTvA";
 			Properties props = new Properties();
 //			props.put("ClusterID", "iggarish-redshift-test-cluster");
 //			props.put("Region", "us-west-1");
diff --git a/manual_tests/TestP49786751.java b/manual_tests/TestP49786751.java
deleted file mode 100644
index 28e600d9..00000000
--- a/manual_tests/TestP49786751.java
+++ /dev/null
@@ -1,60 +0,0 @@
-import java.sql.Connection;
-import java.sql.PreparedStatement;
-import java.sql.ResultSet;
-import java.sql.ResultSetMetaData;
-import java.sql.SQLException;
-import java.util.Properties;
-
-/*
- * (SELECT c.oid, a.attnum, a.attname, c.relname, n.nspname, a.attnotnull 
- * OR (t.     typtype = 'd' AND t.typnotnull), 
- * pg_catalog.pg_get_expr(d.adbin, d.adrelid) 
- * LIKE '%nextval(%' FROM pg_catalog.pg_class c JOIN pg_catalog.pg_namespace n ON (c.relnamespace = n.oid) 
- *  JOIN     pg_catalog.pg_attribute a ON (c.oid = a.attrelid) JOIN pg_catalog.pg_type t ON (a.atttypid = t.oid) LEFT JOIN pg_catalog.pg_attrdef d ON (d.adrelid = a.attrelid AND d.adnum = a.attnum)     JOIN (SELECT 173688 AS oid , 1 AS attnum) vals ON (c.oid = vals.oid AND a.attnum = vals.attnum) )
- */
-public class TestP49786751 {
-
-    public static void main(String[] args) throws Exception {
-  		Connection connection = null;
-  		
-  		try {
-  			Properties props = new Properties();
-  			
-//  			props.put("client_protocol_version", "1");
-  			connection = TestUtil.getDebugConnection(props);
-  			TestP49786751 test = new TestP49786751();
-
-  			// Create objects
-  			if(args.length > 0)
-  				TestUtil.executeQueriesFromFile(connection, "sql/TestP49786751.sql");
-  			
-  			test.executeQuery(connection, "select * from p49786751a.t1");
-  			test.executeQuery(connection, "select * from p49786751b.t1_v1");
-  		}
-  		finally {
-  			if (connection != null)
-  				connection.close();
-  		}
-    }
-    
-    private void executeQuery(Connection conn, String sql) throws SQLException {
-      System.out.println("Statement: " + sql);
-
-      PreparedStatement pstmt = conn.prepareStatement(sql);
-
-      ResultSet rs = pstmt.executeQuery();
-      ResultSetMetaData rsmd = rs.getMetaData();
-
-      String schema_name = rsmd.getSchemaName(1);
-      String table_name = rsmd.getTableName(1);
-      String column_name = rsmd.getColumnName(1);
-      int column_count = rsmd.getColumnCount();
-      
-      System.out.println("Schema Name: " + schema_name);
-      System.out.println("Table Name: " + table_name);
-      System.out.println("Column Name: " + column_name);
-      System.out.println("Column Count: " + column_count);
-
-      pstmt.close();    	
-    }
-}
diff --git a/manual_tests/TestRedshiftNativeAADConnect.java b/manual_tests/TestRedshiftNativeAADConnect.java
deleted file mode 100644
index dd31d176..00000000
--- a/manual_tests/TestRedshiftNativeAADConnect.java
+++ /dev/null
@@ -1,70 +0,0 @@
-import java.sql.Connection;
-import java.sql.DatabaseMetaData;
-import java.sql.DriverManager;
-import java.sql.ResultSet;
-import java.sql.ResultSetMetaData;
-import java.sql.SQLException;
-import java.sql.Statement;
-import java.util.Properties;
-
-public class TestRedshiftNativeAADConnect {
-
-    static String host = "ldengfen-qa.cxd7hnmn8kff.us-east-1-qa.redshift-dev.amazonaws.com";
-	static  String JWT_URL = "jdbc:redshift:iam://" 
-	                          + host
-	                          + ":5439/dev;DSILogLevel=6;LogPath=/tmp"; 
-	
-	public static void main(String[] args) throws SQLException {
-		Connection connection = null;
-		try {
-			TestRedshiftNativeAADConnect ts = new TestRedshiftNativeAADConnect();
-			String token = "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6Imwzc1EtNTBjQ0g0eEJWWkxIVEd3blNSNzY4MCJ9.eyJhdWQiOiIxNzAzMTRhYy01OGQ1LTQ4NGQtYTlhOS04NDA5YTIwMzlkMmUiLCJpc3MiOiJodHRwczovL2xvZ2luLm1pY3Jvc29mdG9ubGluZS5jb20vZTQwZDRiYjItNzY3MC00NGFlLWJmYjgtNWRiMDEzMjIxZDcyL3YyLjAiLCJpYXQiOjE2MzU4Nzc1MTYsIm5iZiI6MTYzNTg3NzUxNiwiZXhwIjoxNjM1ODgxNDE2LCJhY2N0IjowLCJhaW8iOiJBU1FBMi84VEFBQUFIWGEyUktiOFIxMXY4ellOL1llV0s2L01CL3M0dUE5Ty9KWEF4N1hZRUZNPSIsImF1dGhfdGltZSI6MTYyNzY5Mjg4NiwiYXpwIjoiMTcwMzE0YWMtNThkNS00ODRkLWE5YTktODQwOWEyMDM5ZDJlIiwiYXpwYWNyIjoiMCIsImZhbWlseV9uYW1lIjoiR2FyaXNoIiwiZ2l2ZW5fbmFtZSI6IklsZWFzaCIsImdyb3VwcyI6WyIzMWIxYzE4Yi1jZjQ4LTRjOWEtOWNhNy0zZGJmMGVlMjVhNDMiLCI3YWE3ZmIzNy01MTM2LTRiN2EtODEwZC0xMmM2ZjU4M2M1N2UiLCIwMTkzNjQ0Zi0xMzAyLTRlZjgtOGEyZC1hMTVjMjYyM2E5YjIiXSwiaXBhZGRyIjoiMjA1LjI1MS4yMzMuNTIiLCJuYW1lIjoiSWxlc2ggR2FyaXNoIiwib2lkIjoiYjEyYjA2YjYtMTQwNS00Mzg5LTgzMDktYWE1OGY1MWUyYzRkIiwicHJlZmVycmVkX3VzZXJuYW1lIjoiaWdnYXJpc2hAYXplbnQub3JnIiwicHdkX2V4cCI6IjAiLCJwd2RfdXJsIjoiaHR0cHM6Ly9wb3J0YWwubWljcm9zb2Z0b25saW5lLmNvbS9DaGFuZ2VQYXNzd29yZC5hc3B4IiwicmgiOiIwLkFUVUFza3NONUhCMnJrU191RjJ3RXlJZGNxd1VBeGZWV0UxSXFhbUVDYUlEblM0MUFNdy4iLCJzY3AiOiJVc2VyLlJlYWQxMTExMTExMTExMTExMTExMTExMTExMTExMTEwMTkiLCJzaWQiOiI2NzhhNjNhOC0zODFjLTRkNTItOThlOC00M2IzYjZkZjA5ZDEiLCJzdWIiOiJmRlBVc3U3ZmM4b0xSVHJfb0JIdEN3Ym5USWRqcEVBb1NvWm5ITXpOUUdJIiwidGVuYW50X2N0cnkiOiJVUyIsInRlbmFudF9yZWdpb25fc2NvcGUiOiJOQSIsInRpZCI6ImU0MGQ0YmIyLTc2NzAtNDRhZS1iZmI4LTVkYjAxMzIyMWQ3MiIsInVwbiI6ImlnZ2FyaXNoQGF6ZW50Lm9yZyIsInV0aSI6IjlWQ3FOU2FySEVxU1p1Sk5nYXhlQVEiLCJ2ZXIiOiIyLjAiLCJ4bXNfdHBsIjoiZW4ifQ.n3go0lkCpSRMVgndioUSc0FIztUTT3kQmSm96bOMctxK6KUePs1MLjzXrALtO6nUMqo-hA7-nGdS4Bg9TVxZ_S6QOt1rsEQi6uupcNmkJdn3HR8KUJiAVXaPdMRmV_QXfAgzzd0onA_ZfP61opaZYbvsT8rYiyc5Gfq1-Gf2vhOvaASj2PO-6-C6IPaZrut-pX_wAsP2BHpO6qJbqe0XBd8XvFh_IBPB4w8-rp-yQXU_JUdI7BMO8ZAncWcOA4J3tRAMIsVUnmzRGyI948UhlE3nwHbAxAevuFzn5CsrdfaVX0yMZUISBh5_2UNdC-V39SG9gM6zZva3qSfuiSqltg";
-			Properties props = new Properties();
-			props.put("plugin_name", "com.amazon.redshift.plugin.BasicJwtCredentialsProvider");
-			props.put("webIdentityToken", token);
-            props.put("providerName", "prv123456");
-			
-			connection = ts.getAADConnection(props, JWT_URL);
-			
-			ts.executeQuery(connection, "select 1");
-			
-		}
-		finally {
-			if (connection != null)
-				connection.close();
-		}
-	}
-	
-	private  Connection getAADConnection(Properties info, String url) throws SQLException {
-		Connection connection = null;	
-		
-		connection = DriverManager.getConnection(url, info);
-		DatabaseMetaData dm = connection.getMetaData();
-		System.out.println("Connected... Driver Version: " + dm.getDriverVersion());
-
-		return connection;		
-	}
-	
-	private void executeQuery(Connection connection, String sql) throws SQLException {
-		Statement stmt = connection.createStatement();
-		ResultSet rs = stmt.executeQuery(sql);
-		ResultSetMetaData rsmd = rs.getMetaData();
-		int colCount = rsmd.getColumnCount();
-		for (int i = 0; i < colCount;i++) {
-			System.out.print(rsmd.getColumnName(i+1) + "\t");
-		}
-		
-		System.out.println();
-		
-		while(rs.next()) {
-			for (int i = 0; i < colCount;i++) {
-				System.out.print(rs.getString(i+1) + "\t");
-			}
-			System.out.println();
-		}
-		
-		rs.close();
-		stmt.close();
-	}
-	
-}
diff --git a/manual_tests/TestRedshift_4849.java b/manual_tests/TestRedshift_4849.java
deleted file mode 100644
index 5a8f9fd8..00000000
--- a/manual_tests/TestRedshift_4849.java
+++ /dev/null
@@ -1,29 +0,0 @@
-import java.io.IOException;
-import java.sql.Connection;
-import java.sql.DatabaseMetaData;
-import java.sql.ResultSet;
-import java.sql.SQLException;
-
-public class TestRedshift_4849 {
-	public static void main(String[] args) throws SQLException, IOException {
-		Connection connection = null;
-		
-		try {
-			TestRedshift_4849 ts = new TestRedshift_4849();
-			connection = TestUtil.getDebugConnection();
-			ts.getProcedureColumns(connection);
-		}
-		finally {
-			if (connection != null)
-				connection.close();
-		}
-	}
-
-	private void getProcedureColumns(Connection connection) throws SQLException, IOException {
-    TestUtil.executeOneQueryInFile(connection, "./sql/TestRedshift-4849.sql");
-    DatabaseMetaData dm = connection.getMetaData();
-
-    ResultSet rs = dm.getProcedureColumns(null, null, "sp_numeric_gt_2", null);
-    TestUtil.displayResult(rs);
-	}
-}
diff --git a/manual_tests/TestSHA256Connect.java b/manual_tests/TestSHA256Connect.java
deleted file mode 100644
index 28a6891a..00000000
--- a/manual_tests/TestSHA256Connect.java
+++ /dev/null
@@ -1,31 +0,0 @@
-import java.sql.Connection;
-import java.sql.DriverManager;
-import java.sql.SQLException;
-
-// See TestSHA256.sql for creating an user
-public class TestSHA256Connect {
-
-	static	String DATABASE = "dev";
-        static String HOST = "rrcb-test-sha256-pp.cxd7hnmn8kff.us-east-1-qa.redshift-dev.amazonaws.com";
-	static  String USER = "sha_dbuser";
-	static  String PASSWORD = "MY256shapwd"; 
-	static	String PORT = "5439"; 
-	static  String URL = "jdbc:redshift://" + HOST + ":" + PORT + "/" + DATABASE + "?ssl=false;DSILogLevel=6;LogPath=/home/iggarish/logs";
-	
-	public static void main(String[] args) throws SQLException {
-		Connection connection = null;	
-		
-		try {
-			connection = DriverManager.getConnection(URL, 
-					USER, PASSWORD);
-		}
-		finally {
-			if (connection != null) {
-				connection.close();
-				connection = null;
-			}
-		}
-		
-		return;		
-	}
-}
diff --git a/manual_tests/TestUtil.java b/manual_tests/TestUtil.java
index 3ab9a325..e2b8159f 100644
--- a/manual_tests/TestUtil.java
+++ b/manual_tests/TestUtil.java
@@ -26,7 +26,7 @@ import java.util.Properties;
 import javax.sql.DataSource;
 
 // import com.amazon.redshift.jdbc.RedshiftResultSet;
-// import com.amazon.redshift.util.RedshiftTimestamp;
+import com.amazon.redshift.util.RedshiftTimestamp;
 
 import java.sql.DatabaseMetaData;
 
@@ -241,9 +241,8 @@ public class TestUtil {
 						 		|| colType == Types.TIMESTAMP_WITH_TIMEZONE)) {
 						 	Timestamp ts = rs.getTimestamp(i+1);						 
 							System.out.print(ts + "\t");
-/*							if (ts instanceof RedshiftTimestamp)
+							if (ts instanceof RedshiftTimestamp)
 								System.out.print(" getPostgresqlString:" + ((RedshiftTimestamp)ts).getPostgresqlString() + "\t");
-*/								
 					 }
 					 else
 							System.out.print(rs.getString(i+1) + "\t");
diff --git a/manual_tests/TestV443891799.java b/manual_tests/TestV443891799.java
deleted file mode 100644
index fd877cc0..00000000
--- a/manual_tests/TestV443891799.java
+++ /dev/null
@@ -1,59 +0,0 @@
-import java.io.IOException;
-import java.sql.Connection;
-import java.sql.DatabaseMetaData;
-import java.sql.ResultSet;
-import java.sql.ResultSetMetaData;
-import java.sql.SQLException;
-import java.util.Properties;
-
-public class TestV443891799 {
-
-    public static void main(String[] args) throws Exception {
-  		Connection connection = null;
-  		
-  		try {
-  			Properties props = new Properties();
-  			
-  			connection = TestUtil.getDebugConnection(props);
-  			TestV443891799 test = new TestV443891799();
-
-  			// Create objects
-  			if(args.length > 0)
-  		      TestUtil.executeOneQueryInFile(connection, "./sql/TestV443891799.sql");
-  			
-  			test.getProcedureColumns(connection);
-  		}
-  		finally {
-  			if (connection != null)
-  				connection.close();
-  		}
-    }
-    
-    private void getProcedureColumns(Connection connection) throws SQLException, IOException {
-      DatabaseMetaData dm = connection.getMetaData();
-
-      ResultSet rs = dm.getProcedureColumns(null, null, "pinsint", null);
-      showResult(rs);
-    }
-    
-    private void showResult(ResultSet rs) throws SQLException {
-      ResultSetMetaData rsmd = rs.getMetaData();
-//              displayRsmd(rsmd);
-
-      int colCount = rsmd.getColumnCount();
-      for (int i = 0; i < colCount;i++) {
-              System.out.print(rsmd.getColumnName(i+1) + "\t");
-      }
-
-      System.out.println();
-
-      while(rs.next()) {
-              for (int i = 0; i < colCount;i++) {
-                      System.out.print(rs.getString(i+1) + "\t");
-              }
-              System.out.println();
-      }
-
-      rs.close();
-    }
-}
diff --git a/manual_tests/TestVarbyte.java b/manual_tests/TestVarbyte.java
deleted file mode 100644
index a4c80c51..00000000
--- a/manual_tests/TestVarbyte.java
+++ /dev/null
@@ -1,128 +0,0 @@
-import java.io.IOException;
-import java.sql.Connection;
-import java.sql.PreparedStatement;
-import java.sql.ResultSet;
-import java.sql.ResultSetMetaData;
-import java.sql.SQLException;
-import java.sql.Statement;
-import java.sql.Timestamp;
-import java.sql.Types;
-
-import com.amazon.redshift.util.RedshiftTimestamp;
-
-public class TestVarbyte {
-	public static void main(String[] args) throws SQLException, IOException {
-		Connection connection = null;
-		
-		try {
-			TestVarbyte ts = new TestVarbyte();
-			connection = TestUtil.getConnection();
-			
-			if(args.length > 0)
-				TestUtil.executeQueriesFromFile(connection, "sql/varbyte.sql");
-			String sql = "SELECT * FROM t_varbyte ORDER BY id";
-			ts.executeQueryAndFetchAsString(connection, sql);
-			ts.executeQueryAndFetchAsBytes(connection, sql);
-			ts.executeQueryAndFetchAsObject(connection, sql);
-		}
-		finally {
-			if (connection != null)
-				connection.close();
-		}
-	}
-
-	private void executeQueryAndFetchAsString(Connection connection, String sql) throws SQLException {
-		System.out.println("=============executeQueryAndFetchAsString");
-		System.out.println(sql);
-		Statement stmt = connection.createStatement();
-		ResultSet rs = stmt.executeQuery(sql);
-		
-		displayResultWithType(rs, false, Types.VARCHAR, true);
-		
-		rs.close();
-		stmt.close();
-	}
-
-	private void executeQueryAndFetchAsBytes(Connection connection, String sql) throws SQLException {
-		System.out.println("=============executeQueryAndFetchAsBytes");
-		System.out.println(sql);
-		Statement stmt = connection.createStatement();
-		ResultSet rs = stmt.executeQuery(sql);
-		
-		displayResultWithType(rs, false, Types.BINARY, true);
-		
-		rs.close();
-		stmt.close();
-	}
-
-	private void executeQueryAndFetchAsObject(Connection connection, String sql) throws SQLException {
-		System.out.println("=============executeQueryAndFetchAsObject");
-		System.out.println(sql);
-		Statement stmt = connection.createStatement();
-		ResultSet rs = stmt.executeQuery(sql);
-		
-		displayResultWithType(rs, true, Types.BINARY, true);
-		
-		rs.close();
-		stmt.close();
-	}
-	
-	public static long displayResultWithType(ResultSet rs, boolean useObject, int sqlType, boolean displayColType) throws SQLException {
-		ResultSetMetaData rsmd = rs.getMetaData();
-		long rows = 0;
-		
-//		System.out.println("Row count:" + ((RedshiftResultSet)rs).getRowCount());
-		
-		int colCount = rsmd.getColumnCount();
-		for (int i = 0; i < colCount;i++) {
-			if (displayColType)
-				System.out.print(rsmd.getColumnType(i+1) + "\t " + rsmd.getColumnTypeName(i+1) + "\t ");
-			System.out.print(rsmd.getColumnName(i+1) + "\t");
-		}
-		
-		System.out.println();
-		
-		while(rs.next()) {
-			rows++;
-
-			for (int i = 0; i < colCount;i++) {
-				int colType = rsmd.getColumnType(i+1);
-				if (useObject) {
-					if(colType == Types.LONGVARBINARY) {
-						displayByteArray((byte[])rs.getObject(i+1));
-						System.out.print("\t");
-					}
-					else
-						System.out.print(rs.getObject(i+1) + "\t");
-				}
-				else {
-					 if(sqlType == Types.BINARY
-							 && colType == Types.LONGVARBINARY) {
-							System.out.print(new String(rs.getBytes(i+1)) + "\t");
-					 }
-					 else
-							System.out.print(rs.getString(i+1) + "\t");
-				}
-			}
-			System.out.println();
-		}
-		
-//		System.out.println("Row count:" + ((RedshiftResultSet)rs).getRowCount() + " rows:" + rows);
-		System.out.println("#Rows:" + rows);
-		
-		return rows;
-	}
-	
-  private static void displayByteArray(byte[] data) {
-  	
-  	if(data == null) {
-  		System.out.print("NULL");
-  	}
-  	else {
-  		for(int  i = 0;i < data.length;i++) {
-    		System.out.print(data[i] + " ");
-  		}
-  	}
-  }
-	
-}
diff --git a/manual_tests/sql/TestD30083776.sql b/manual_tests/sql/TestD30083776.sql
deleted file mode 100644
index 824b508c..00000000
--- a/manual_tests/sql/TestD30083776.sql
+++ /dev/null
@@ -1,8 +0,0 @@
-create or replace procedure PRESTEST (thiscursor OUT refcursor)
-as
-$$
-begin
- open thiscursor for select 'test';
-end;
-$$  
-LANGUAGE 'plpgsql'
diff --git a/manual_tests/sql/TestD30854071.sql b/manual_tests/sql/TestD30854071.sql
deleted file mode 100644
index 854ef5ad..00000000
--- a/manual_tests/sql/TestD30854071.sql
+++ /dev/null
@@ -1,7 +0,0 @@
-create procedure PINOUTTMTZ ( INOUT PTMTZ time with time zone, INOUT P2TMTZ time with time zone )
-as
-$$
-begin
-end;
-$$
-LANGUAGE 'plpgsql'
diff --git a/manual_tests/sql/TestP49786751.sql b/manual_tests/sql/TestP49786751.sql
deleted file mode 100644
index 6d787f6c..00000000
--- a/manual_tests/sql/TestP49786751.sql
+++ /dev/null
@@ -1,11 +0,0 @@
-drop view p49786751b.t1_v1;
-drop schema p49786751b;
-drop table p49786751a.t1;
-drop schema p49786751a;
-
-create schema p49786751a;
-create table p49786751a.t1 (c1 int, c2 varchar(10));
-insert into p49786751a.t1 values (1, 'a'), (2, 'b'), (3, 'c');
-create schema p49786751b;
-create view p49786751b.t1_v1 as select c1 from p49786751a.t1;
-
diff --git a/manual_tests/sql/TestRedshift-4849.sql b/manual_tests/sql/TestRedshift-4849.sql
deleted file mode 100644
index 13c641ea..00000000
--- a/manual_tests/sql/TestRedshift-4849.sql
+++ /dev/null
@@ -1,10 +0,0 @@
- CREATE OR REPLACE PROCEDURE public.sp_numeric_gt_2(arg1 numeric(36,4), arg2 numeric(10,2), INOUT rs_out refcursor)
-  LANGUAGE plpgsql                                                                                                 
-  SECURITY DEFINER                                                                                                 
- AS $$                                                                                                             
- BEGIN                                                                                                             
-   OPEN rs_out FOR                                                                                                 
-   SELECT arg1 > arg2;                                                                                             
-   END;                                                                                                            
- $$           
-
diff --git a/manual_tests/sql/TestSHA256.sql b/manual_tests/sql/TestSHA256.sql
deleted file mode 100644
index 0ee4b9a4..00000000
--- a/manual_tests/sql/TestSHA256.sql
+++ /dev/null
@@ -1 +0,0 @@
-CREATE USER sha_dbuser WITH PASSWORD 'sha256|MY256shapwd';
diff --git a/manual_tests/sql/TestV443891799.sql b/manual_tests/sql/TestV443891799.sql
deleted file mode 100644
index 5a5aa2f5..00000000
--- a/manual_tests/sql/TestV443891799.sql
+++ /dev/null
@@ -1,10 +0,0 @@
-CREATE OR REPLACE PROCEDURE public.pinsint(in psint smallint)
- LANGUAGE plpgsql
-AS $$
-declare
-	P1 smallint;
-begin
-	P1:= PSINT;
-end;
-$$
-
diff --git a/manual_tests/sql/varbyte.sql b/manual_tests/sql/varbyte.sql
deleted file mode 100644
index 5c5e618c..00000000
--- a/manual_tests/sql/varbyte.sql
+++ /dev/null
@@ -1,37 +0,0 @@
-CREATE TABLE t_varbyte (
- id int,
- v1 varbyte,
- v2 varbyte);
-INSERT INTO t_varbyte VALUES (0, '00', '00');
-INSERT INTO t_varbyte VALUES (1, '1111', '11');
-INSERT INTO t_varbyte VALUES (2, '222222', '22');
-INSERT INTO t_varbyte VALUES (3, '33333333', '33');
-INSERT INTO t_varbyte VALUES (4, '44444444', '44');
-INSERT INTO t_varbyte VALUES (5, '5555555555', '55');
-INSERT INTO t_varbyte VALUES (6, '666666666666', '66');
-INSERT INTO t_varbyte VALUES (7, '77777777777777', '77');
-INSERT INTO t_varbyte VALUES (8, '8888888888888888', '88');
-INSERT INTO t_varbyte VALUES (9, '999999999999999999', '99');
-INSERT INTO t_varbyte VALUES (10, 'aa', 'aa');
-INSERT INTO t_varbyte VALUES (11, 'bbbb', 'bb');
-INSERT INTO t_varbyte VALUES (12, 'cccccc', 'cc');
-INSERT INTO t_varbyte VALUES (13, 'dddddddd', 'dd');
-INSERT INTO t_varbyte VALUES (14, 'eeeeeeeeee', 'ee');
-INSERT INTO t_varbyte VALUES (15, 'ffffffffffff', 'ff');
-INSERT INTO t_varbyte VALUES (20, 'aa00', '00');
-INSERT INTO t_varbyte VALUES (21, 'bb1111', '1111');
-INSERT INTO t_varbyte VALUES (22, 'cc222222', '222222');
-INSERT INTO t_varbyte VALUES (23, 'dd33333333', '33333333');
-INSERT INTO t_varbyte VALUES (24, 'ee4444444444', '4444444444');
-INSERT INTO t_varbyte VALUES (25, 'ff555555555555', '555555555555');
-INSERT INTO t_varbyte VALUES (26, '0066666666666666', '66666666666666');
-INSERT INTO t_varbyte VALUES (27, '117777777777777777', '7777777777777777');
-INSERT INTO t_varbyte VALUES (28, '22888888888888888888', '888888888888888888');
-INSERT INTO t_varbyte VALUES (29, '3399', '99');
-INSERT INTO t_varbyte VALUES (30, '44aaaa', 'aaaa');
-INSERT INTO t_varbyte VALUES (31, '55bbbbbb', 'bbbbbb');
-INSERT INTO t_varbyte VALUES (32, '66cccccccc', 'cccccccc');
-INSERT INTO t_varbyte VALUES (33, '77dddddddddd', 'dddddddddd');
-INSERT INTO t_varbyte VALUES (34, '88eeeeeeeeeeee', 'eeeeeeeeeeee');
-INSERT INTO t_varbyte VALUES (35, '99ffffffffffffff', 'ffffffffffffff');
-
diff --git a/publish-to-maven/src/main/publish/template.pom b/publish-to-maven/src/main/publish/template.pom
index 9dcbda3d..af2961c7 100644
--- a/publish-to-maven/src/main/publish/template.pom
+++ b/publish-to-maven/src/main/publish/template.pom
@@ -9,21 +9,21 @@
     <dependency>
       <groupId>com.amazonaws</groupId>
       <artifactId>aws-java-sdk-core</artifactId>
-      <version>1.12.23</version>
+      <version>1.12.2</version>
       <scope>runtime</scope>
       <optional>true</optional>
     </dependency>
     <dependency>
       <groupId>com.amazonaws</groupId>
       <artifactId>aws-java-sdk-redshift</artifactId>
-      <version>1.12.23</version>
+      <version>1.12.2</version>
       <scope>runtime</scope>
       <optional>true</optional>
     </dependency>
     <dependency>
       <groupId>com.amazonaws</groupId>
       <artifactId>aws-java-sdk-sts</artifactId>
-      <version>1.12.23</version>
+      <version>1.12.2</version>
       <scope>runtime</scope>
       <optional>true</optional>
     </dependency>
diff --git a/publish-to-maven/src/main/publish_maven/pom.template.xml b/publish-to-maven/src/main/publish_maven/pom.template.xml
index 56220698..e402a7b8 100644
--- a/publish-to-maven/src/main/publish_maven/pom.template.xml
+++ b/publish-to-maven/src/main/publish_maven/pom.template.xml
@@ -56,21 +56,21 @@
         <dependency>
             <groupId>com.amazonaws</groupId>
             <artifactId>aws-java-sdk-core</artifactId>
-            <version>1.12.23</version>
+            <version>1.12.2</version>
             <scope>runtime</scope>
             <optional>true</optional>
         </dependency>
         <dependency>
             <groupId>com.amazonaws</groupId>
             <artifactId>aws-java-sdk-redshift</artifactId>
-            <version>1.12.23</version>
+            <version>1.12.2</version>
             <scope>runtime</scope>
             <optional>true</optional>
         </dependency>
         <dependency>
             <groupId>com.amazonaws</groupId>
             <artifactId>aws-java-sdk-sts</artifactId>
-            <version>1.12.23</version>
+            <version>1.12.2</version>
             <scope>runtime</scope>
             <optional>true</optional>
         </dependency>
diff --git a/src/main/java/com/amazon/redshift/RedshiftProperty.java b/src/main/java/com/amazon/redshift/RedshiftProperty.java
index df15a09f..6b43a2e3 100644
--- a/src/main/java/com/amazon/redshift/RedshiftProperty.java
+++ b/src/main/java/com/amazon/redshift/RedshiftProperty.java
@@ -1013,20 +1013,6 @@ public enum RedshiftProperty {
   					"false",
   					"Use the IDP Groups in the Redshift"),
   
-  /**
-   * The Oauth access token for an idp connection.
-   */
-  WEB_IDENTITY_TOKEN("webIdentityToken",
-           null,
-           "The Oauth access token for an idp connection"),
-  
-
-  /**
-   * The name of the Redshift Native Auth Provider.
-   */
-  PROVIDER_NAME("providerName",
-           null,
-           "The name of the Redshift Native Auth Provider"),
   
   ;
   
diff --git a/src/main/java/com/amazon/redshift/core/BaseConnection.java b/src/main/java/com/amazon/redshift/core/BaseConnection.java
index af1da166..130d9609 100644
--- a/src/main/java/com/amazon/redshift/core/BaseConnection.java
+++ b/src/main/java/com/amazon/redshift/core/BaseConnection.java
@@ -128,16 +128,6 @@ public interface BaseConnection extends RedshiftConnection, Connection {
    */
   String escapeString(String str) throws SQLException;
 
-  /**
-   * Escapes only quotes in string for catalog name. The method chooses the
-   * applicable escaping rules based on the value of {@link #getStandardConformingStrings()}.
-   *
-   * @param str a string value
-   * @return the escaped representation of the string
-   * @throws SQLException if the string contains a {@code \0} character
-   */
-  String escapeOnlyQuotesString(String str) throws SQLException;
-  
   /**
    * Returns whether the server treats string-literals according to the SQL standard or if it uses
    * traditional Redshift escaping rules. Versions up to 8.1 always treated backslashes as escape
diff --git a/src/main/java/com/amazon/redshift/core/Oid.java b/src/main/java/com/amazon/redshift/core/Oid.java
index fcff20b2..c5b33c80 100644
--- a/src/main/java/com/amazon/redshift/core/Oid.java
+++ b/src/main/java/com/amazon/redshift/core/Oid.java
@@ -82,8 +82,6 @@ public class Oid {
   public static final int GEOMETRYHEX_ARRAY = 0; // UNSPECIFIED
   public static final int SUPER = 4000;
   public static final int SUPER_ARRAY = 0; // UNSPECIFIED
-  public static final int VARBYTE = 6551;
-  public static final int VARBYTE_ARRAY = 0; // UNSPECIFIED
   public static final int TIDOID = 27; // VARCHAR
   public static final int TIDARRAYOID = 1010;
 
diff --git a/src/main/java/com/amazon/redshift/core/PluginProfilesConfigFile.java b/src/main/java/com/amazon/redshift/core/PluginProfilesConfigFile.java
index a573633a..9ad6d5ea 100755
--- a/src/main/java/com/amazon/redshift/core/PluginProfilesConfigFile.java
+++ b/src/main/java/com/amazon/redshift/core/PluginProfilesConfigFile.java
@@ -3,7 +3,6 @@ package com.amazon.redshift.core;
 import java.util.Date;
 import java.util.Locale;
 import java.util.Map;
-import java.util.Set;
 import java.util.concurrent.ConcurrentHashMap;
 
 import com.amazonaws.SdkClientException;
@@ -65,12 +64,6 @@ public class PluginProfilesConfigFile extends ProfilesConfigFile
         }
 
         Map<String, BasicProfile> map = getAllBasicProfiles();
-        
-        if(RedshiftLogger.isEnable()) {
-          Set<String> profiles = map.keySet();
-          m_log.logInfo("profiles:" + profiles.toString());
-        }
-        
         BasicProfile profile = map.get(profileName);
         if (profile == null)
         {
diff --git a/src/main/java/com/amazon/redshift/core/RedshiftStream.java b/src/main/java/com/amazon/redshift/core/RedshiftStream.java
index dfd090ed..bf2c179e 100644
--- a/src/main/java/com/amazon/redshift/core/RedshiftStream.java
+++ b/src/main/java/com/amazon/redshift/core/RedshiftStream.java
@@ -382,7 +382,7 @@ public class RedshiftStream implements Closeable, Flushable {
   public int receiveChar() throws IOException {
     int c = pgInput.read();
     if (c < 0) {
-      throw new EOFException("The server closed the connection.");
+      throw new EOFException();
     }
     return c;
   }
diff --git a/src/main/java/com/amazon/redshift/core/Utils.java b/src/main/java/com/amazon/redshift/core/Utils.java
index a0fb78e7..ffc3311c 100644
--- a/src/main/java/com/amazon/redshift/core/Utils.java
+++ b/src/main/java/com/amazon/redshift/core/Utils.java
@@ -62,24 +62,18 @@ public class Utils {
    * @param sbuf the string builder to append to; or {@code null}
    * @param value the string value
    * @param standardConformingStrings if standard conforming strings should be used
-   * @param onlyQuotes only escape quote and not the backslash for database name
    * @return the sbuf argument; or a new string builder for sbuf == null
    * @throws SQLException if the string contains a {@code \0} character
    */
   public static StringBuilder escapeLiteral(StringBuilder sbuf, String value,
-      boolean standardConformingStrings, boolean onlyQuotes) throws SQLException {
+      boolean standardConformingStrings) throws SQLException {
     if (sbuf == null) {
       sbuf = new StringBuilder((value.length() + 10) / 10 * 11); // Add 10% for escaping.
     }
-    doAppendEscapedLiteral(sbuf, value, standardConformingStrings, onlyQuotes);
+    doAppendEscapedLiteral(sbuf, value, standardConformingStrings);
     return sbuf;
   }
 
-  public static StringBuilder escapeLiteral(StringBuilder sbuf, String value,
-      boolean standardConformingStrings) throws SQLException {
-  	return escapeLiteral(sbuf, value, standardConformingStrings, false);
-  }
-  
   /**
    * Common part for {@link #escapeLiteral(StringBuilder, String, boolean)}.
    *
@@ -89,7 +83,7 @@ public class Utils {
    * @param standardConformingStrings if standard conforming strings should be used
    */
   private static void doAppendEscapedLiteral(Appendable sbuf, String value,
-      boolean standardConformingStrings, boolean onlyQuote) throws SQLException {
+      boolean standardConformingStrings) throws SQLException {
     try {
       if (standardConformingStrings) {
         // With standard_conforming_strings on, escape only single-quotes.
@@ -116,17 +110,9 @@ public class Utils {
             throw new RedshiftException(GT.tr("Zero bytes may not occur in string parameters."),
                 RedshiftState.INVALID_PARAMETER_VALUE);
           }
-          
-          if(onlyQuote) {
-            if (ch == '\'') {
-              sbuf.append(ch);
-            }
-          }
-          else
           if (ch == '\\' || ch == '\'') {
             sbuf.append(ch);
           }
-          
           sbuf.append(ch);
         }
       }
diff --git a/src/main/java/com/amazon/redshift/core/v3/ConnectionFactoryImpl.java b/src/main/java/com/amazon/redshift/core/v3/ConnectionFactoryImpl.java
index 0762b611..a99ee59b 100644
--- a/src/main/java/com/amazon/redshift/core/v3/ConnectionFactoryImpl.java
+++ b/src/main/java/com/amazon/redshift/core/v3/ConnectionFactoryImpl.java
@@ -30,7 +30,6 @@ import com.amazon.redshift.util.DriverInfo;
 import com.amazon.redshift.util.GT;
 import com.amazon.redshift.util.HostSpec;
 import com.amazon.redshift.util.MD5Digest;
-import com.amazon.redshift.util.ExtensibleDigest;
 import com.amazon.redshift.util.RedshiftException;
 import com.amazon.redshift.util.RedshiftState;
 import com.amazon.redshift.util.ServerErrorMessage;
@@ -39,7 +38,6 @@ import java.io.IOException;
 import java.net.ConnectException;
 import java.sql.SQLException;
 import java.util.ArrayList;
-import java.util.Date;
 import java.util.HashMap;
 import java.util.Iterator;
 import java.util.List;
@@ -70,12 +68,6 @@ public class ConnectionFactoryImpl extends ConnectionFactory {
   private static final int AUTH_REQ_SASL = 10;
   private static final int AUTH_REQ_SASL_CONTINUE = 11;
   private static final int AUTH_REQ_SASL_FINAL = 12;
-  private static final int AUTH_REQ_DIGEST = 13;
-  private static final int AUTH_REQ_IDP = 14; /* Redshift Native IDP Integration */
-  
-  private static final int AUTH_DIGEST_SHA256 = 0;
-  private static final int AUTH_DIGEST_SCRYPT = 1;
-  private static final int AUTH_DIGEST_ARGON2 = 2;
   
   // Server protocol versions
   public static int BASE_SERVER_PROTOCOL_VERSION = 0;
@@ -349,23 +341,7 @@ public class ConnectionFactoryImpl extends ConnectionFactory {
 
   private List<String[]> getParametersForStartup(String user, String database, Properties info, boolean driverOsVersionParams) {
     List<String[]> paramList = new ArrayList<String[]>();
-    boolean redshiftNativeAuth = false;
-    String idpType = "";
-    
-    String pluginName = RedshiftProperty.CREDENTIALS_PROVIDER.get(info);
-    if(pluginName != null
-        && pluginName.equalsIgnoreCase("com.amazon.redshift.plugin.BasicJwtCredentialsProvider")) {
-      idpType = "AzureAD";
-      redshiftNativeAuth = true;
-    }
-    
-    if(!redshiftNativeAuth)
-      paramList.add(new String[]{"user", user});
-    else {
-      if(user != null && user.length() > 0)
-        paramList.add(new String[]{"user", user});
-    }
-    
+    paramList.add(new String[]{"user", user});
     paramList.add(new String[]{"database", database});
     paramList.add(new String[]{"client_encoding", "UTF8"});
     paramList.add(new String[]{"DateStyle", "ISO"});
@@ -400,6 +376,7 @@ public class ConnectionFactoryImpl extends ConnectionFactory {
 	    }
 	    paramList.add(new String[]{"os_version",os_version});
 	    
+	    String pluginName = RedshiftProperty.CREDENTIALS_PROVIDER.get(info);
 	    if (pluginName != null && pluginName.length() != 0) {
 		    paramList.add(new String[]{"plugin_name",pluginName});
 	    }
@@ -409,17 +386,6 @@ public class ConnectionFactoryImpl extends ConnectionFactory {
 	    paramList.add(new String[]{"client_protocol_version",clientProtocolVersion}); 
     } // New parameters
     
-    // Redshift Native Auth values
-    if(redshiftNativeAuth) {
-      paramList.add(new String[]{"idp_type",idpType});
-      
-      String providerName = RedshiftProperty.PROVIDER_NAME.get(info);
-      if (providerName != null && providerName.length() != 0) {
-        paramList.add(new String[]{"provider_name",providerName});
-      }
-    }
-    
-    
     String replication = RedshiftProperty.REPLICATION.get(info);
     if (replication != null && assumeVersion.getVersionNum() >= ServerVersion.v9_4.getVersionNum()) {
       paramList.add(new String[]{"replication", replication});
@@ -643,88 +609,6 @@ public class ConnectionFactoryImpl extends ConnectionFactory {
                 break;
               }
 
-              case AUTH_REQ_DIGEST: {
-              	// Extensible user password hashing algorithm constant value 
-                int algo = pgStream.receiveInteger4();
-                String[] algoNames = { "SHA-256" };
-              	
-                int saltLen = pgStream.receiveInteger4();
-                byte[] salt = pgStream.receive(saltLen);
-                int serverNonceLen = pgStream.receiveInteger4();
-                byte[] serverNonce = pgStream.receive(serverNonceLen);
-                
-                String dateTimeString = Long.toString(new Date().getTime());
-                byte[] clientNonce = dateTimeString.getBytes();                
-                
-                if(RedshiftLogger.isEnable()) {
-                  logger.log(LogLevel.DEBUG, " <=BE AuthenticationReqDigest: Algo:" + algo);
-                }
-                
-
-                if (password == null) {
-                  throw new RedshiftException(
-                      GT.tr(
-                          "The server requested password-based authentication, but no password was provided."),
-                      RedshiftState.CONNECTION_REJECTED);
-                }
-
-                if (algo > algoNames.length) {
-                  throw new RedshiftException(
-                      GT.tr(
-                          "The server requested password-based authentication, but requested algorithm " + algo + " is not supported."),
-                      RedshiftState.CONNECTION_REJECTED);
-                }
-                
-                byte[] digest =
-                    ExtensibleDigest.encode(clientNonce, 
-                    								password.getBytes("UTF-8"), 
-                    								salt,
-                    								algoNames[algo],
-                    								serverNonce);
-
-                if(RedshiftLogger.isEnable()) {
-                  logger.log(LogLevel.DEBUG, " FE=> Password(extensible digest)");
-                }
-                
-                pgStream.sendChar('d');
-                pgStream.sendInteger4(4 + 4 + digest.length + 4 + clientNonce.length);
-                pgStream.sendInteger4(digest.length);
-                pgStream.send(digest);
-                pgStream.sendInteger4(clientNonce.length);
-                pgStream.send(clientNonce);
-                pgStream.flush();
-
-                break;
-              }
-              
-              case AUTH_REQ_IDP: {
-                String aadToken = RedshiftProperty.WEB_IDENTITY_TOKEN.get(info);
-
-                if(RedshiftLogger.isEnable()) {
-                  logger.log(LogLevel.DEBUG, " <=BE AuthenticationReqIDP");
-                }
-                
-                if (aadToken == null || aadToken.length() == 0) {
-                  throw new RedshiftException(
-                      GT.tr(
-                          "The server requested AAD token-based authentication, but no token was provided."),
-                      RedshiftState.CONNECTION_REJECTED);
-                }
-                
-                if(RedshiftLogger.isEnable()) {
-                  logger.log(LogLevel.DEBUG, " FE=> IDP(AAD Token)");
-                }
-                
-                byte[] token = aadToken.getBytes("UTF-8");
-                pgStream.sendChar('i');
-                pgStream.sendInteger4(4 + token.length + 1);
-                pgStream.send(token);
-                pgStream.sendChar(0);
-                pgStream.flush();
-                
-                break;
-              }
-              
               case AUTH_REQ_PASSWORD: {
                 if(RedshiftLogger.isEnable()) {
 	                logger.log(LogLevel.DEBUG, "<=BE AuthenticationReqPassword");
diff --git a/src/main/java/com/amazon/redshift/jdbc/RedshiftConnectionImpl.java b/src/main/java/com/amazon/redshift/jdbc/RedshiftConnectionImpl.java
index dcbcb1a8..02b45c7b 100644
--- a/src/main/java/com/amazon/redshift/jdbc/RedshiftConnectionImpl.java
+++ b/src/main/java/com/amazon/redshift/jdbc/RedshiftConnectionImpl.java
@@ -238,8 +238,6 @@ public class RedshiftConnectionImpl implements BaseConnection {
     m_settings.m_iamAuth = (iamAuth == null) ? false : Boolean.parseBoolean(iamAuth);
     if (m_settings.m_iamAuth)
     {
-        boolean redshiftNativeAuth = false;
-        
     	if (sslExplicitlyDisabled) {
 	      	throw new RedshiftException(GT.tr("SSL should be enable in IAM authentication."),
 	      			RedshiftState.UNEXPECTED_ERROR);
@@ -247,48 +245,36 @@ public class RedshiftConnectionImpl implements BaseConnection {
     	
       if (RedshiftLogger.isEnable())
         logger.log(LogLevel.DEBUG, "Start IAM authentication");
-      
-      // Check for JWT and convert into Redshift Native Auth
-      String iamCredentialProvider = RedshiftConnectionImpl.getOptionalConnSetting(
-                                      RedshiftProperty.CREDENTIALS_PROVIDER.getName(),
-                                      info);
-      if(iamCredentialProvider != null
-          && iamCredentialProvider.equalsIgnoreCase("com.amazon.redshift.plugin.BasicJwtCredentialsProvider")) {
-        redshiftNativeAuth = true;
-      }
+    	
+    	info = IamHelper.setIAMProperties(info, m_settings, logger);
 
-      
-       if(!redshiftNativeAuth) {
-      	info = IamHelper.setIAMProperties(info, m_settings, logger);
-  
-  //      if (RedshiftLogger.isEnable())
-  //        logger.log(LogLevel.DEBUG, "info after setIAMProperties" + info);
-      	
-      	// Set the user name and temporary password in the property
-      	Properties updatedInfo = new Properties();
-      	updatedInfo.putAll(info);
-      	if(m_settings.m_username != null) {
-      		updatedInfo.put(RedshiftProperty.USER.getName(), m_settings.m_username);
-      		user = m_settings.m_username;
-      	}
-      	if(m_settings.m_password != null)
-      		updatedInfo.put(RedshiftProperty.PASSWORD.getName(), m_settings.m_password);
-      	
-      	if(m_settings.m_host != null) {
-      		updatedInfo.putIfAbsent(RedshiftProperty.HOST.getName(), m_settings.m_host);
-      	}
-      	
-      	if(m_settings.m_port != 0) {
-      		updatedInfo.putIfAbsent(RedshiftProperty.PORT.getName(), String.valueOf(m_settings.m_port));
-      	}
-      	
-      	if (hostSpecs == null) {
-      		hostSpecs = Driver.hostSpecs(updatedInfo);
-      	}
-      	
-      	info = updatedInfo;
-       } // !Redshift Native Auth
-    } // IAM auth
+//      if (RedshiftLogger.isEnable())
+//        logger.log(LogLevel.DEBUG, "info after setIAMProperties" + info);
+    	
+    	// Set the user name and temporary password in the property
+    	Properties updatedInfo = new Properties();
+    	updatedInfo.putAll(info);
+    	if(m_settings.m_username != null) {
+    		updatedInfo.put(RedshiftProperty.USER.getName(), m_settings.m_username);
+    		user = m_settings.m_username;
+    	}
+    	if(m_settings.m_password != null)
+    		updatedInfo.put(RedshiftProperty.PASSWORD.getName(), m_settings.m_password);
+    	
+    	if(m_settings.m_host != null) {
+    		updatedInfo.putIfAbsent(RedshiftProperty.HOST.getName(), m_settings.m_host);
+    	}
+    	
+    	if(m_settings.m_port != 0) {
+    		updatedInfo.putIfAbsent(RedshiftProperty.PORT.getName(), String.valueOf(m_settings.m_port));
+    	}
+    	
+    	if (hostSpecs == null) {
+    		hostSpecs = Driver.hostSpecs(updatedInfo);
+    	}
+    	
+    	info = updatedInfo;
+    }
     
     this.creatingURL = url;
 
@@ -1233,12 +1219,6 @@ public class RedshiftConnectionImpl implements BaseConnection {
         .toString();
   }
 
-  @Override
-  public String escapeOnlyQuotesString(String str) throws SQLException {
-    return Utils.escapeLiteral(null, str, queryExecutor.getStandardConformingStrings(),true)
-        .toString();
-  }
-  
   @Override
   public boolean getStandardConformingStrings() {
     return queryExecutor.getStandardConformingStrings();
diff --git a/src/main/java/com/amazon/redshift/jdbc/RedshiftDatabaseMetaData.java b/src/main/java/com/amazon/redshift/jdbc/RedshiftDatabaseMetaData.java
index 463ad9ac..5029f402 100644
--- a/src/main/java/com/amazon/redshift/jdbc/RedshiftDatabaseMetaData.java
+++ b/src/main/java/com/amazon/redshift/jdbc/RedshiftDatabaseMetaData.java
@@ -952,17 +952,6 @@ public class RedshiftDatabaseMetaData implements DatabaseMetaData {
     return sb.toString();
   }
 
-  protected String escapeOnlyQuotes(String s) throws SQLException {
-    StringBuilder sb = new StringBuilder();
-/*    if (!connection.getStandardConformingStrings()) {
-      sb.append("E");
-    } */
-    sb.append("'");
-    sb.append(connection.escapeOnlyQuotesString(s));
-    sb.append("'");
-    return sb.toString();
-  }
-  
   public ResultSet getProcedures(String catalog, String schemaPattern, String procedureNamePattern)
       throws SQLException {
     String sql;
@@ -972,9 +961,9 @@ public class RedshiftDatabaseMetaData implements DatabaseMetaData {
     
     sql = "SELECT current_database() AS PROCEDURE_CAT, n.nspname AS PROCEDURE_SCHEM, p.proname AS PROCEDURE_NAME, "
           + "NULL, NULL, NULL, d.description AS REMARKS, "
-          + " CASE  "
-          + " WHEN p.prokind='f' or p.proargmodes is not null THEN 2 "
-          + " WHEN p.prokind='p' THEN 1 "
+          + " CASE p.prokind "
+          + " WHEN 'f' THEN 2 "
+          + " WHEN 'p' THEN 1 "
           + " ELSE 0 "
           + " END AS PROCEDURE_TYPE, "
           + " p.proname || '_' || p.prooid AS SPECIFIC_NAME "
@@ -1089,7 +1078,6 @@ public class RedshiftDatabaseMetaData implements DatabaseMetaData {
             + " WHEN 'ARRAY' THEN 2003 "
             + " WHEN 'geometry' THEN -4 "
             + " WHEN 'super' THEN -16 "
-            + " WHEN 'varbyte' THEN -4 "
             + " ELSE 1111 "
             + " END AS SMALLINT) AS DATA_TYPE, "
             + " pg_catalog.format_type(p.prorettype, NULL) AS TYPE_NAME, "
@@ -1125,8 +1113,7 @@ public class RedshiftDatabaseMetaData implements DatabaseMetaData {
             + " WHEN 'float8' THEN 53 "
             + " WHEN 'float' THEN 53 "
             + " WHEN 'geometry' THEN NULL "
-            + " WHEN 'super' THEN 4194304 "
-            + " WHEN 'varbyte' THEN NULL "
+            + " WHEN 'super' THEN NULL "
             + " ELSE " + unknownColumnSize
             + " END AS COLUMN_SIZE, "
             + " CASE pg_catalog.format_type(p.prorettype, NULL) "
@@ -1161,8 +1148,7 @@ public class RedshiftDatabaseMetaData implements DatabaseMetaData {
             + " WHEN 'float8' THEN 8 "
             + " WHEN 'float' THEN  8 "
             + " WHEN 'geometry' THEN NULL "
-            + " WHEN 'super' THEN 4194304 "
-            + " WHEN 'varbyte' THEN NULL "
+            + " WHEN 'super' THEN NULL "
             + " END AS LENGTH, "
             + " CAST(CASE pg_catalog.format_type(p.prorettype, NULL) "
             + " WHEN 'smallint' THEN 0 "
@@ -1178,6 +1164,7 @@ public class RedshiftDatabaseMetaData implements DatabaseMetaData {
             + " WHEN 'double precision' THEN 17 "
             + " WHEN 'float' THEN 17 "
             + " WHEN 'float8' THEN 17 "
+            + " WHEN 'numeric' THEN 0 "
             + " WHEN 'time' THEN 6 "
             + " WHEN 'time without time zone' THEN 6 "
             + " WHEN 'timetz' THEN 6 "
@@ -1233,7 +1220,6 @@ public class RedshiftDatabaseMetaData implements DatabaseMetaData {
             + " WHEN 'ARRAY' THEN 2003 "
             + " WHEN 'geometry' THEN -4 "
             + " WHEN 'super' THEN -16 "
-            + " WHEN 'varbyte' THEN -4 "
             + " END AS SMALLINT) AS SQL_DATA_TYPE, "
             + " CAST(NULL AS SMALLINT) AS SQL_DATETIME_SUB, "
             + " CAST(NULL AS SMALLINT) AS CHAR_OCTET_LENGTH, "
@@ -1288,10 +1274,6 @@ public class RedshiftDatabaseMetaData implements DatabaseMetaData {
             + " WHEN 'bpchar' THEN 1 "
             + " WHEN 'nvarchar' THEN 12 "
             + " WHEN 'date' THEN 91 "
-            + " WHEN 'time' THEN 92 "
-            + " WHEN 'time without time zone' THEN 92 "
-            + " WHEN 'timetz' THEN 2013 "
-            + " WHEN 'time with time zone' THEN 2013 "
             + " WHEN 'timestamp' THEN 93 "
             + " WHEN 'timestamp without time zone' THEN 93 "
             + " WHEN 'timestamptz' THEN 2014 "
@@ -1316,7 +1298,6 @@ public class RedshiftDatabaseMetaData implements DatabaseMetaData {
             + " WHEN 'ARRAY' THEN 2003 "
             + " WHEN 'geometry' THEN -4 "
             + " WHEN 'super' THEN -16 "
-            + " WHEN 'varbyte' THEN -4 "
             + " ELSE 1111 "
             + " END AS SMALLINT) AS DATA_TYPE, "
             + " TYPE_NAME, "
@@ -1330,14 +1311,7 @@ public class RedshiftDatabaseMetaData implements DatabaseMetaData {
             + " WHEN 'bpchar' THEN COLUMN_BYTES "
             + " WHEN 'nvarchar' THEN COLUMN_BYTES "
             + " WHEN 'date' THEN 10 "
-            + " WHEN 'time' THEN 15 "
-            + " WHEN 'time without time zone' THEN 15 "
-            + " WHEN 'timetz' THEN 21 "
-            + " WHEN 'time with time zone' THEN 21 "
             + " WHEN 'timestamp' THEN 6 "
-            + " WHEN 'timestamp without time zone' THEN 6 "
-            + " WHEN 'timestamptz' THEN 35 "
-            + " WHEN 'timestamp with time zone' THEN 35 "
             + " WHEN 'smallint' THEN 5 "
             + " WHEN 'int2' THEN 5 "
             + " WHEN 'integer' THEN 10 "
@@ -1351,10 +1325,8 @@ public class RedshiftDatabaseMetaData implements DatabaseMetaData {
             + " WHEN 'double precision' THEN 53 "
             + " WHEN 'float8' THEN 53 "
             + " WHEN 'float' THEN 53 "
-            + " WHEN 'numeric' THEN NUMERIC_PRECISION "
             + " WHEN 'geometry' THEN NULL "
-            + " WHEN 'super' THEN 4194304 "
-            + " WHEN 'varbyte' THEN NULL "
+            + " WHEN 'super' THEN NULL "
             + " ELSE " + unknownColumnSize
             + " END AS COLUMN_SIZE, "
             + " CASE LENGTH "
@@ -1367,14 +1339,7 @@ public class RedshiftDatabaseMetaData implements DatabaseMetaData {
             + " WHEN 'bpchar' THEN COLUMN_BYTES "
             + " WHEN 'nvarchar' THEN COLUMN_BYTES "
             + " WHEN 'date' THEN 6 "
-            + " WHEN 'time' THEN 6 "
-            + " WHEN 'time without time zone' THEN 6 "
-            + " WHEN 'timetz' THEN 6 "
-            + " WHEN 'time with time zone' THEN 6 "
             + " WHEN 'timestamp' THEN 6 "
-            + " WHEN 'timestamp without time zone' THEN 6 "
-            + " WHEN 'timestamptz' THEN 6 "
-            + " WHEN 'timestamp with time zone' THEN 6 "
             + " WHEN 'smallint' THEN 2 "
             + " WHEN 'int2' THEN 2 "
             + " WHEN 'integer' THEN 4 "
@@ -1389,8 +1354,7 @@ public class RedshiftDatabaseMetaData implements DatabaseMetaData {
             + " WHEN 'float8' THEN 8 "
             + " WHEN 'float' THEN  8 "
             + " WHEN 'geometry' THEN NULL "
-            + " WHEN 'super' THEN 4194304 "
-            + " WHEN 'varbyte' THEN NULL "
+            + " WHEN 'super' THEN NULL "
             + " END AS LENGTH, "
             + " CAST(CASE DECIMAL_DIGITS "
             + " WHEN 'smallint' THEN 0 "
@@ -1406,11 +1370,7 @@ public class RedshiftDatabaseMetaData implements DatabaseMetaData {
             + " WHEN 'double precision' THEN 17 "
             + " WHEN 'float' THEN 17 "
             + " WHEN 'float8' THEN 17 "
-            + " WHEN 'numeric' THEN NUMERIC_SCALE "
-            + " WHEN 'time' THEN 6 "
-            + " WHEN 'time without time zone' THEN 6 "
-            + " WHEN 'timetz' THEN 6 "
-            + " WHEN 'time with time zone' THEN 6 "
+            + " WHEN 'numeric' THEN 0 "
             + " WHEN 'timestamp' THEN 6 "
             + " WHEN 'timestamp without time zone' THEN 6 "
             + " WHEN 'timestamptz' THEN 6 "
@@ -1434,10 +1394,6 @@ public class RedshiftDatabaseMetaData implements DatabaseMetaData {
             + " WHEN 'bpchar' THEN 1 "
             + " WHEN 'nvarchar' THEN 12 "
             + " WHEN 'date' THEN 91 "
-            + " WHEN 'time' THEN 92 "
-            + " WHEN 'time without time zone' THEN 92 "
-            + " WHEN 'timetz' THEN 2013 "
-            + " WHEN 'time with time zone' THEN 2013 "
             + " WHEN 'timestamp' THEN 93 "
             + " WHEN 'timestamp without time zone' THEN 93 "
             + " WHEN 'timestamptz' THEN 2014 "
@@ -1462,7 +1418,6 @@ public class RedshiftDatabaseMetaData implements DatabaseMetaData {
             + " WHEN 'ARRAY' THEN 2003 "
             + " WHEN 'geometry' THEN -4 "
             + " WHEN 'super' THEN -16 "
-            + " WHEN 'varbyte' THEN -4 "
             + " END AS SMALLINT) AS SQL_DATA_TYPE, "
             + " CAST(NULL AS SMALLINT) AS SQL_DATETIME_SUB, "
             + " CAST(NULL AS SMALLINT) AS CHAR_OCTET_LENGTH, "
@@ -1475,7 +1430,7 @@ public class RedshiftDatabaseMetaData implements DatabaseMetaData {
             + " proname AS PROCEDURE_NAME, "
             + " CASE WHEN (proallargtypes is NULL) THEN proargnames[pos+1] "
             + " ELSE proargnames[pos] END AS COLUMN_NAME,"
-            + " CASE WHEN proargmodes is NULL THEN 105 "
+            + " CASE WHEN proargmodes is NULL THEN proargtypes[pos] "
             + " ELSE CAST(proargmodes[pos] AS INT) END AS COLUMN_TYPE, "
             + " CASE WHEN proallargtypes is NULL THEN pg_catalog.format_type(proargtypes[pos], NULL)"
             + " ELSE pg_catalog.format_type(proallargtypes[pos], NULL) END AS DATA_TYPE,"
@@ -1483,15 +1438,10 @@ public class RedshiftDatabaseMetaData implements DatabaseMetaData {
             + " ELSE pg_catalog.format_type(proallargtypes[pos], NULL) END AS TYPE_NAME,"
             + " CASE WHEN proallargtypes is NULL THEN pg_catalog.format_type(proargtypes[pos], NULL)"
             + " ELSE pg_catalog.format_type(proallargtypes[pos], NULL) END AS COLUMN_SIZE,"
-            + " CASE  WHEN (proallargtypes IS NOT NULL) and prokind='p' AND proallargtypes[pos] IN (1042, 1700, 1043) "
-            + "				THEN (string_to_array(textin(byteaout(substring(probin from 1 for length(probin)-3))),','))[pos]::integer "
-            + " 			WHEN (proallargtypes IS NULL) AND prokind='p' AND proargtypes[pos] IN (1042,1700,1043) "
-            +	"				THEN (string_to_array(textin(byteaout(substring(probin FROM 1 FOR length(probin)-3))), ',')) [pos+1]::integer "
-            + " END AS PROBIN_BYTES, "
-            + " CASE "
-            + "   WHEN (PROBIN_BYTES IS NOT NULL) "
-            + " 				AND (proallargtypes[pos] IN (1042, 1043) or proargtypes[pos] in (1042,1043)) "
-            + "		THEN PROBIN_BYTES-4 "
+            + " CASE WHEN (proallargtypes IS NULL) and prokind='p' AND proargtypes[pos] IN (1042,1043) "
+            + "				THEN (string_to_array(textin(byteaout(substring(probin from 1 for length(probin)-3))),','))[pos+1]::integer-4 "
+            + "      WHEN (proallargtypes IS NOT NULL) and prokind='p' AND proallargtypes[pos] IN (1042,1043) "
+            + "				THEN (string_to_array(textin(byteaout(substring(probin from 1 for length(probin)-3))),','))[pos]::integer-4 "
             + " END AS COLUMN_BYTES, "            
             + " CASE WHEN proallargtypes is NULL THEN pg_catalog.format_type(proargtypes[pos], NULL)"
             + " ELSE pg_catalog.format_type(proallargtypes[pos], NULL) END AS LENGTH,"
@@ -1513,8 +1463,6 @@ public class RedshiftDatabaseMetaData implements DatabaseMetaData {
             + " CASE WHEN (proallargtypes is NULL) THEN pos+1"
             + " WHEN prokind = 'f' AND pos = array_upper(proallargtypes, 1) THEN 0"
             + " ELSE pos END AS PROARGINDEX, "
-            +	" CASE WHEN (proallargtypes IS NULL AND proargtypes[pos] = 1700 AND prokind='p') OR (proallargtypes IS NOT NULL AND proallargtypes[pos] = 1700 AND prokind='p' AND proallargtypes[pos] = 1700) THEN (PROBIN_BYTES-4)/65536 END as NUMERIC_PRECISION, "
-            + " CASE WHEN (proallargtypes IS NULL AND proargtypes[pos] = 1700 AND prokind='p') OR (proallargtypes IS NOT NULL AND proallargtypes[pos] = 1700 AND prokind='p' AND proallargtypes[pos] = 1700) THEN (((PROBIN_BYTES::numeric-4)/65536 - (PROBIN_BYTES-4)/65536) *  65536)::INT END as NUMERIC_SCALE, "
             + " p.proname || '_' || p.prooid AS SPECIFIC_NAME "
             + " FROM (pg_catalog.pg_proc_info p LEFT JOIN pg_namespace n"
             + " ON n.oid = p.pronamespace)"
@@ -2130,7 +2078,6 @@ public class RedshiftDatabaseMetaData implements DatabaseMetaData {
       result.append("when 'ARRAY' THEN 2003 ");
       result.append("when 'geometry' THEN -4 ");
       result.append("when 'super' THEN -16 ");
-      result.append("when 'varbyte' THEN -4 ");
       result.append("else 1111 END as SMALLINT) AS DATA_TYPE, ");
       result.append("t.typname as TYPE_NAME, ");
       result.append("case typname ");
@@ -2173,7 +2120,6 @@ public class RedshiftDatabaseMetaData implements DatabaseMetaData {
       result.append("when '_int2' THEN 5 ");
       result.append("when 'geometry' THEN NULL ");
       result.append("when 'super' THEN NULL ");
-      result.append("when 'varbyte' THEN NULL ");
 //      if (connSettings.m_unknownLength == null)
       {
           result.append("else 2147483647 end as COLUMN_SIZE , ");
@@ -2196,11 +2142,8 @@ public class RedshiftDatabaseMetaData implements DatabaseMetaData {
       result.append("when 'timestamp' then 6 ");
       result.append("when 'geometry' then NULL ");
       result.append("when 'super' then NULL ");
-      result.append("when 'varbyte' then NULL ");
       result.append("else 0 end as DECIMAL_DIGITS, ");
-      result.append("case typname ");
-      result.append("when 'varbyte' then 2 ");
-      result.append("else 10 end as NUM_PREC_RADIX, ");
+      result.append("10 AS NUM_PREC_RADIX , ");
       result.append("case a.attnotnull OR (t.typtype = 'd' AND t.typnotnull) ");
       result.append("when 'false' then 1 ");
       result.append("when NULL then 2 ");
@@ -2255,7 +2198,6 @@ public class RedshiftDatabaseMetaData implements DatabaseMetaData {
       result.append("when 'ARRAY' THEN 2003 ");
       result.append("when 'geometry' THEN -4 ");
       result.append("when 'super' THEN -16 ");
-      result.append("when 'varbyte' THEN -4 ");
       result.append("else 1111 END as SMALLINT) AS SQL_DATA_TYPE, ");
       result.append("CAST(NULL AS SMALLINT) as SQL_DATETIME_SUB , ");
       result.append("case typname ");
@@ -2298,7 +2240,6 @@ public class RedshiftDatabaseMetaData implements DatabaseMetaData {
       result.append("when '_int2' THEN 5 ");
       result.append("when 'geometry' THEN NULL ");
       result.append("when 'super' THEN NULL ");
-      result.append("when 'varbyte' THEN NULL ");
 //      if (connSettings.m_unknownLength == null)
       {
           result.append("else 2147483647 end as CHAR_OCTET_LENGTH , ");
@@ -2398,7 +2339,6 @@ public class RedshiftDatabaseMetaData implements DatabaseMetaData {
       result.append("WHEN 'ARRAY' THEN 2003 ");
       result.append("WHEN 'geometry' THEN -4 ");
       result.append("WHEN 'super' THEN -16 ");
-      result.append("WHEN 'varbyte' THEN -4 ");
       result.append("ELSE 1111 END AS SMALLINT) AS DATA_TYPE, ");
       result.append("COALESCE(NULL,CASE columntype WHEN 'boolean' THEN 'bool' ");
       result.append("WHEN 'character varying' THEN 'varchar' ");
@@ -2454,7 +2394,6 @@ public class RedshiftDatabaseMetaData implements DatabaseMetaData {
       result.append("WHEN '_int2' THEN 5 ");
       result.append("WHEN 'geometry' THEN NULL ");
       result.append("WHEN 'super' THEN NULL ");
-      result.append("WHEN 'varbyte' THEN NULL ");
       result.append("ELSE 2147483647 END AS COLUMN_SIZE, ");
       result.append("NULL AS BUFFER_LENGTH, ");
       result.append("CASE columntype ");
@@ -2466,11 +2405,7 @@ public class RedshiftDatabaseMetaData implements DatabaseMetaData {
       result.append("WHEN 'timestamp without time zone' THEN 6 ");
       result.append("WHEN 'geometry' THEN NULL ");
       result.append("WHEN 'super' THEN NULL ");
-      result.append("WHEN 'varbyte' THEN NULL ");
-      result.append("ELSE 0 END AS DECIMAL_DIGITS, ");
-      result.append("CASE columntype ");
-      result.append("WHEN 'varbyte' THEN 2 ");
-      result.append("ELSE 10 END AS NUM_PREC_RADIX, ");
+      result.append("ELSE 0 END AS DECIMAL_DIGITS, 10 AS NUM_PREC_RADIX, ");
       result.append("NULL AS NULLABLE,  NULL AS REMARKS,   NULL AS COLUMN_DEF, ");
       result.append("CAST(CASE columntype_rep ");
       result.append("WHEN 'text' THEN 12 ");
@@ -2513,8 +2448,7 @@ public class RedshiftDatabaseMetaData implements DatabaseMetaData {
       result.append("WHEN 'name' THEN 12 ");
       result.append("WHEN 'ARRAY' THEN 2003 ");
       result.append("WHEN 'geometry' THEN -4 ");
-      result.append("WHEN 'super' THEN -16 ");
-      result.append("WHEN 'varbyte' THEN -4 ");
+      result.append("WHEN 'super' THEN -4 ");
       result.append("ELSE 1111 END AS SMALLINT) AS SQL_DATA_TYPE, ");
       result.append("CAST(NULL AS SMALLINT) AS SQL_DATETIME_SUB, CASE ");
       result.append("WHEN LEFT (columntype,7) = 'varchar' THEN regexp_substr (columntype,'[0-9]+',7)::INTEGER ");
@@ -2608,7 +2542,6 @@ public class RedshiftDatabaseMetaData implements DatabaseMetaData {
     + " WHEN 'ARRAY' THEN 2003 "
     + " WHEN 'geometry' THEN -4 "
     + " WHEN 'super' THEN -16 "
-    + " WHEN 'varbyte' THEN -4 "
     + " ELSE 1111 END AS SMALLINT) AS DATA_TYPE, "
     + " CASE data_type "
     + " WHEN 'boolean' THEN 'bool' "
@@ -2666,7 +2599,6 @@ public class RedshiftDatabaseMetaData implements DatabaseMetaData {
     + " WHEN '_int2' THEN 5 "
     + " WHEN 'geometry' THEN NULL "
     + " WHEN 'super' THEN NULL "
-    + " WHEN 'varbyte' THEN NULL "
     + " ELSE   2147483647 "
     + " END AS COLUMN_SIZE, "
     + " NULL AS BUFFER_LENGTH, "
@@ -2686,13 +2618,9 @@ public class RedshiftDatabaseMetaData implements DatabaseMetaData {
     + " WHEN 'timestamp with time zone' THEN 6 " 
     + " WHEN 'geometry' THEN NULL "
     + " WHEN 'super' THEN NULL "
-    + " WHEN 'varbyte' THEN NULL "
     + " ELSE 0 "
     + " END AS DECIMAL_DIGITS, "
-    + " CASE data_type "
-    + " WHEN 'varbyte' THEN 2 "
-    + " ELSE 10 "
-    + " END AS NUM_PREC_RADIX, "
+    + " 10 AS NUM_PREC_RADIX, "
     + " CASE is_nullable WHEN 'YES' THEN 1 "
     + " WHEN 'NO' THEN 0 "
     + " ELSE 2 end AS NULLABLE, "
@@ -2740,7 +2668,6 @@ public class RedshiftDatabaseMetaData implements DatabaseMetaData {
     + " WHEN 'ARRAY' THEN 2003 "
     + " WHEN 'geometry' THEN -4 "
     + " WHEN 'super' THEN -16 "
-    + " WHEN 'varbyte' THEN -4 "
     + " ELSE 1111 END AS SMALLINT) AS SQL_DATA_TYPE, "
     + " CAST(NULL AS SMALLINT) AS SQL_DATETIME_SUB, "
     + " CASE data_type "
@@ -2784,7 +2711,6 @@ public class RedshiftDatabaseMetaData implements DatabaseMetaData {
     + " WHEN '_int2' THEN 5 "
     + " WHEN 'geometry' THEN NULL "
     + " WHEN 'super' THEN NULL "
-    + " WHEN 'varbyte' THEN NULL "
     + " ELSE   2147483647 "
     + " END AS CHAR_OCTET_LENGTH, "
     + " ordinal_position AS ORDINAL_POSITION, "
@@ -2874,7 +2800,6 @@ public class RedshiftDatabaseMetaData implements DatabaseMetaData {
 	      + " WHEN 'ARRAY' THEN 2003"
         + " WHEN 'geometry' THEN -4 "
         + " WHEN 'super' THEN -16 "
-        + " WHEN 'varbyte' THEN -4 "
 	      + " ELSE 1111 END AS SMALLINT) AS DATA_TYPE,"
 	      + " COALESCE("
 	      + " domain_name,"
@@ -2934,7 +2859,6 @@ public class RedshiftDatabaseMetaData implements DatabaseMetaData {
 	      + " WHEN '_int2' THEN 5"
         + " WHEN 'geometry' THEN NULL"
         + " WHEN 'super' THEN NULL"
-        + " WHEN 'varbyte' THEN NULL"
 	      + " ELSE " + unknownColumnSize
 	      + " END AS COLUMN_SIZE,"
 	      + " NULL AS BUFFER_LENGTH,"
@@ -2954,13 +2878,9 @@ public class RedshiftDatabaseMetaData implements DatabaseMetaData {
 	      + " WHEN 'timestamp with time zone' THEN 6"
         + " WHEN 'geometry' THEN NULL"
         + " WHEN 'super' THEN NULL"
-        + " WHEN 'varbyte' THEN NULL"
 	      + " ELSE 0"
 	      + " END AS DECIMAL_DIGITS,"
-	      + " CASE data_type"
-	      + " WHEN 'varbyte' THEN 2"
-	      + " ELSE 10"
-	      + " END AS NUM_PREC_RADIX,"
+	      + " 10 AS NUM_PREC_RADIX,"
 	      + " CASE is_nullable WHEN 'YES' THEN 1"
         + " WHEN 'NO' THEN 0"
         + " ELSE 2 end AS NULLABLE,"
@@ -3008,7 +2928,6 @@ public class RedshiftDatabaseMetaData implements DatabaseMetaData {
 	      + " WHEN 'ARRAY' THEN 2003"
         + " WHEN 'geometry' THEN -4"
         + " WHEN 'super' THEN -16"
-        + " WHEN 'varbyte' THEN -4"
 	      + " ELSE 1111 END AS SMALLINT) AS SQL_DATA_TYPE,"
 	      + " CAST(NULL AS SMALLINT) AS SQL_DATETIME_SUB,"
 	      + " CASE data_type"
@@ -3052,7 +2971,6 @@ public class RedshiftDatabaseMetaData implements DatabaseMetaData {
 	      + " WHEN '_int2' THEN 5"
         + " WHEN 'geometry' THEN NULL"
         + " WHEN 'super' THEN NULL"
-        + " WHEN 'varbyte' THEN NULL"
 	      + " ELSE " + unknownColumnSize
 	      + " END AS CHAR_OCTET_LENGTH,"
 	      + " ordinal_position AS ORDINAL_POSITION,"
@@ -3148,7 +3066,6 @@ public class RedshiftDatabaseMetaData implements DatabaseMetaData {
     + " WHEN external_type = 'ARRAY' THEN 2003" 
     + " WHEN external_type = 'geometry' THEN -4"
     + " WHEN external_type = 'super' THEN -16"
-    + " WHEN external_type = 'varbyte' THEN -4"
     + " ELSE 1111 END AS SMALLINT) AS DATA_TYPE," 
     + " CASE WHEN left(external_type, 17) = 'character varying' THEN 'varchar'" 
     + " WHEN left(external_type, 7) = 'varchar' THEN 'varchar'" 
@@ -3165,41 +3082,13 @@ public class RedshiftDatabaseMetaData implements DatabaseMetaData {
     + " WHEN external_type = 'bit' THEN 1" 
     + " WHEN external_type = 'bool' THEN 1" 
     + " WHEN external_type = 'boolean' THEN 1" 
-    + " WHEN left(external_type, 7) = 'varchar' "
-    + "  THEN CASE "
-    + "   WHEN regexp_instr(external_type, '\\\\(', 7) = 0 THEN '0' "
-    + "   ELSE regexp_substr(external_type, '[0-9]+', 7) "
-    + "  END::integer "
-    + " WHEN left(external_type, 17) = 'character varying' "
-    +	"  THEN CASE "
-    + "   WHEN regexp_instr(external_type, '\\\\(', 17) = 0 THEN '0' "
-    + "   ELSE regexp_substr(external_type, '[0-9]+', 17) "
-    + "  END::integer "
-    + " WHEN left(external_type, 4) = 'char' "
-    + "  THEN CASE "
-    + "   WHEN regexp_instr(external_type, '\\\\(', 4) = 0 THEN '0' "
-    + "   ELSE regexp_substr(external_type, '[0-9]+', 4) "
-    + "  END::integer "
-    + " WHEN left(external_type, 9) = 'character' "
-    + "	 THEN CASE "
-    + "   WHEN regexp_instr(external_type, '\\\\(', 9) = 0 THEN '0' "
-    + "   ELSE regexp_substr(external_type, '[0-9]+', 9) "
-    + "  END::integer "
-    + " WHEN left(external_type, 5) = 'nchar' "
-    + "  THEN CASE "
-    + "   WHEN regexp_instr(external_type, '\\\\(', 5) = 0 THEN '0' "
-    + "   ELSE regexp_substr(external_type, '[0-9]+', 5) "
-    + "  END::integer "
-    + " WHEN left(external_type, 6) = 'bpchar' "
-    + "	 THEN CASE "
-    + "   WHEN regexp_instr(external_type, '\\\\(', 6) = 0 THEN '0' "
-    + "   ELSE regexp_substr(external_type, '[0-9]+', 6) "
-    + "  END::integer "
-    + " WHEN left(external_type, 8) = 'nvarchar' "
-    + "  THEN CASE "
-    + "    WHEN regexp_instr(external_type, '\\\\(', 8) = 0 THEN '0' "
-    + "    ELSE regexp_substr(external_type, '[0-9]+', 8) "
-    + "  END::integer "
+    + " WHEN left(external_type, 7) = 'varchar' THEN regexp_substr(external_type, '[0-9]+', 7)::integer" 
+    + " WHEN left(external_type, 17) = 'character varying' THEN regexp_substr(external_type, '[0-9]+', 17)::integer" 
+    + " WHEN left(external_type, 4) = 'char' THEN regexp_substr(external_type, '[0-9]+', 4)::integer" 
+    + " WHEN left(external_type, 9) = 'character' THEN regexp_substr(external_type, '[0-9]+', 9)::integer" 
+    + " WHEN left(external_type, 5) = 'nchar' THEN regexp_substr(external_type, '[0-9]+', 5)::integer" 
+    + " WHEN left(external_type, 6) = 'bpchar' THEN regexp_substr(external_type, '[0-9]+', 6)::integer" 
+    + " WHEN left(external_type, 8) = 'nvarchar' THEN regexp_substr(external_type, '[0-9]+', 8)::integer" 
     + " WHEN external_type = 'date' THEN 13 "
     + " WHEN external_type = 'time' THEN 15 "
     + " WHEN external_type = 'time without time zone' THEN 15 "
@@ -3232,7 +3121,6 @@ public class RedshiftDatabaseMetaData implements DatabaseMetaData {
     + " WHEN external_type = '_int2' THEN 5" 
     + " WHEN external_type = 'geometry' THEN NULL"
     + " WHEN external_type = 'super' THEN NULL"
-    + " WHEN external_type = 'varbyte' THEN NULL"
     + " ELSE 2147483647 END AS COLUMN_SIZE," 
     + " NULL AS BUFFER_LENGTH," 
     + " CASE WHEN external_type = 'real'THEN 8" 
@@ -3252,11 +3140,8 @@ public class RedshiftDatabaseMetaData implements DatabaseMetaData {
     + " WHEN external_type = 'timestamp with time zone' THEN 6" 
     + " WHEN external_type = 'geometry' THEN NULL"
     + " WHEN external_type = 'super' THEN NULL"
-    + " WHEN external_type = 'varbyte' THEN NULL"
     + " ELSE 0 END AS DECIMAL_DIGITS," 
-    + " CASE WHEN external_type = 'varbyte' THEN 2"
-    + " ELSE 10"
-    + " END AS NUM_PREC_RADIX,"
+    + " 10 AS NUM_PREC_RADIX," 
     + " NULL AS NULLABLE," 
     + " NULL AS REMARKS," 
     + " NULL AS COLUMN_DEF," 
@@ -3306,44 +3191,15 @@ public class RedshiftDatabaseMetaData implements DatabaseMetaData {
     + " WHEN external_type = 'ARRAY' THEN 2003" 
     + " WHEN external_type = 'geometry' THEN -4"
     + " WHEN external_type = 'super' THEN -16"
-    + " WHEN external_type = 'varbyte' THEN -4"
     + " ELSE 1111 END AS SMALLINT) AS SQL_DATA_TYPE," 
     + " CAST(NULL AS SMALLINT) AS SQL_DATETIME_SUB," 
-    + " CASE WHEN left(external_type, 7) = 'varchar' "
-    + "  THEN CASE "
-    + "   WHEN regexp_instr(external_type, '\\\\(', 7) = 0 THEN '0' "
-    + "   ELSE regexp_substr(external_type, '[0-9]+', 7) "
-    + "  END::integer "
-    + " WHEN left(external_type, 17) = 'character varying' "
-    +	"  THEN CASE "
-    + "   WHEN regexp_instr(external_type, '\\\\(', 17) = 0 THEN '0' "
-    + "   ELSE regexp_substr(external_type, '[0-9]+', 17) "
-    + "  END::integer "
-    + " WHEN left(external_type, 4) = 'char' "
-    + "  THEN CASE "
-    + "   WHEN regexp_instr(external_type, '\\\\(', 4) = 0 THEN '0' "
-    + "   ELSE regexp_substr(external_type, '[0-9]+', 4) "
-    + "  END::integer "
-    + " WHEN left(external_type, 9) = 'character' "
-    + "	 THEN CASE "
-    + "   WHEN regexp_instr(external_type, '\\\\(', 9) = 0 THEN '0' "
-    + "   ELSE regexp_substr(external_type, '[0-9]+', 9) "
-    + "  END::integer "
-    + " WHEN left(external_type, 5) = 'nchar' "
-    + "  THEN CASE "
-    + "   WHEN regexp_instr(external_type, '\\\\(', 5) = 0 THEN '0' "
-    + "   ELSE regexp_substr(external_type, '[0-9]+', 5) "
-    + "  END::integer "
-    + " WHEN left(external_type, 6) = 'bpchar' "
-    + "	 THEN CASE "
-    + "   WHEN regexp_instr(external_type, '\\\\(', 6) = 0 THEN '0' "
-    + "   ELSE regexp_substr(external_type, '[0-9]+', 6) "
-    + "  END::integer "
-    + " WHEN left(external_type, 8) = 'nvarchar' "
-    + "  THEN CASE "
-    + "    WHEN regexp_instr(external_type, '\\\\(', 8) = 0 THEN '0' "
-    + "    ELSE regexp_substr(external_type, '[0-9]+', 8) "
-    + "  END::integer "
+    + " CASE WHEN left(external_type, 7) = 'varchar' THEN regexp_substr(external_type, '[0-9]+', 7)::integer" 
+    + " WHEN left(external_type, 17) = 'character varying' THEN regexp_substr(external_type, '[0-9]+', 17)::integer" 
+    + " WHEN left(external_type, 4) = 'char' THEN regexp_substr(external_type, '[0-9]+', 4)::integer" 
+    + " WHEN left(external_type, 9) = 'character' THEN regexp_substr(external_type, '[0-9]+', 9)::integer" 
+    + " WHEN left(external_type, 5) = 'nchar' THEN regexp_substr(external_type, '[0-9]+', 5)::integer" 
+    + " WHEN left(external_type, 6) = 'bpchar' THEN regexp_substr(external_type, '[0-9]+', 6)::integer" 
+    + " WHEN left(external_type, 8) = 'nvarchar' THEN regexp_substr(external_type, '[0-9]+', 8)::integer" 
     + " WHEN external_type = 'string' THEN 16383" 
     + " ELSE NULL END AS CHAR_OCTET_LENGTH," 
     + " columnnum AS ORDINAL_POSITION," 
@@ -4005,7 +3861,7 @@ public class RedshiftDatabaseMetaData implements DatabaseMetaData {
 //          + " AND "
     		  + " WHERE "
           + " t.typname in ("
-          + "'bool','char','int8','int2','int4','float4','float8','bpchar','varchar','date','time','timestamp','timestamptz','numeric','refcursor','geometry','super','varbyte')";
+          + "'bool','char','int8','int2','int4','float4','float8','bpchar','varchar','date','time','timestamp','timestamptz','numeric','refcursor','geometry','super')";
 //          + " AND "
 //          + " (t.typrelid = 0 OR (SELECT c.relkind = 'c' FROM pg_catalog.pg_class c WHERE c.oid = t.typrelid))";
 
@@ -4019,7 +3875,6 @@ public class RedshiftDatabaseMetaData implements DatabaseMetaData {
     // things up a little.
     byte[] bZero = connection.encodeString("0");
     byte[] b10 = connection.encodeString("10");
-    byte[] b2 = connection.encodeString("2");
     byte[] bf = connection.encodeString("f");
     byte[] bt = connection.encodeString("t");
     byte[] bliteral = connection.encodeString("'");
@@ -4069,9 +3924,7 @@ public class RedshiftDatabaseMetaData implements DatabaseMetaData {
 
       // 12 - LOCAL_TYPE_NAME is null
       // 15 & 16 are unused so we return null
-
-      // VARBYTE is base2,everything else is base 10      
-      tuple[17] = (typeOid == Oid.VARBYTE) ? b2 : b10; 
+      tuple[17] = b10; // everything is base 10
       v.add(new Tuple(tuple));
 
       // add pseudo-type serial, bigserial
@@ -4584,7 +4437,6 @@ public class RedshiftDatabaseMetaData implements DatabaseMetaData {
 */
 	final String unknownColumnSize = "2147483647";
 	final String superMaxLength = "4194304 ";
-	final String varbyteMaxLength = "1000000 ";
 	
 	StringBuilder functionColumnQuery = new StringBuilder();
 	
@@ -4663,7 +4515,6 @@ public class RedshiftDatabaseMetaData implements DatabaseMetaData {
 	        + " WHEN 'ARRAY' THEN 2003 "
 	        + " WHEN 'geometry' THEN -4 "
 	        + " WHEN 'super' THEN -1 "
-	        + " WHEN 'varbyte' THEN -4 "
 	        + " ELSE 1111 "
 	        + " END AS SMALLINT) AS DATA_TYPE, "
 	        + " pg_catalog.format_type(p.prorettype, NULL) AS TYPE_NAME, "
@@ -4694,7 +4545,6 @@ public class RedshiftDatabaseMetaData implements DatabaseMetaData {
 	        + " WHEN 'float' THEN 53 "
 	        + " WHEN 'geometry' THEN NULL "
 	        + " WHEN 'super' THEN " + superMaxLength
-	        + " WHEN 'varbyte' THEN " + varbyteMaxLength
 	        + " ELSE " + unknownColumnSize
 	        + " END AS COLUMN_SIZE, "
 	        + " CASE pg_catalog.format_type(p.prorettype, NULL) "
@@ -4723,7 +4573,6 @@ public class RedshiftDatabaseMetaData implements DatabaseMetaData {
 	        + " WHEN 'float' THEN  8 "
 	        + " WHEN 'geometry' THEN NULL "
 	        + " WHEN 'super' THEN " + superMaxLength
-	        + " WHEN 'varbyte' THEN " + varbyteMaxLength
 	        + " END AS LENGTH, "
 	        + " CAST(CASE pg_catalog.format_type(p.prorettype, NULL) "
 	        + " WHEN 'smallint' THEN 0 "
@@ -4825,7 +4674,6 @@ public class RedshiftDatabaseMetaData implements DatabaseMetaData {
             + " WHEN 'ARRAY' THEN 2003 "
             + " WHEN 'geometry' THEN -4 "
             + " WHEN 'super' THEN -1 "
-            + " WHEN 'varbyte' THEN -4 "
             + " ELSE 1111 "
             + " END AS SMALLINT) AS DATA_TYPE, "
             + " TYPE_NAME, "
@@ -4856,7 +4704,6 @@ public class RedshiftDatabaseMetaData implements DatabaseMetaData {
             + " WHEN 'float' THEN 53 "
             + " WHEN 'geometry' THEN NULL "
             + " WHEN 'super' THEN " + superMaxLength
-            + " WHEN 'varbyte' THEN " + varbyteMaxLength
             + " ELSE " + unknownColumnSize
             + " END AS COLUMN_SIZE, "
             + " CASE LENGTH "
@@ -4885,7 +4732,6 @@ public class RedshiftDatabaseMetaData implements DatabaseMetaData {
             + " WHEN 'float' THEN  8 "
             + " WHEN 'geometry' THEN NULL "
             + " WHEN 'super' THEN " + superMaxLength
-            + " WHEN 'varbyte' THEN " + varbyteMaxLength
             + " END AS LENGTH, "
             + " CAST(CASE DECIMAL_DIGITS "
             + " WHEN 'smallint' THEN 0 "
@@ -5303,13 +5149,13 @@ public class RedshiftDatabaseMetaData implements DatabaseMetaData {
 		  if (isSingleDatabaseMetaData()
 		  		 || apiSupportedOnlyForConnectedDatabase) {
 		    	// Catalog parameter is not a pattern.
-		    	catalogFilter = " AND current_database() = " + escapeOnlyQuotes(catalog);
+		    	catalogFilter = " AND current_database() = " + escapeQuotes(catalog);
 		    }
 		  else {
 		  	if (databaseColName == null)
 		  		databaseColName = "database_name";
 		  	
-	    	catalogFilter = " AND " + databaseColName + " = " + escapeOnlyQuotes(catalog);
+	    	catalogFilter = " AND " + databaseColName + " = " + escapeQuotes(catalog);
 		  }
     }
     
diff --git a/src/main/java/com/amazon/redshift/jdbc/RedshiftPreparedStatement.java b/src/main/java/com/amazon/redshift/jdbc/RedshiftPreparedStatement.java
index c949a78d..f2054e4b 100644
--- a/src/main/java/com/amazon/redshift/jdbc/RedshiftPreparedStatement.java
+++ b/src/main/java/com/amazon/redshift/jdbc/RedshiftPreparedStatement.java
@@ -291,12 +291,10 @@ public class RedshiftPreparedStatement extends RedshiftStatementImpl implements
         break;
       case Types.BINARY:
       case Types.VARBINARY:
+      case Types.LONGVARBINARY:
       case Types.BLOB:
         oid = Oid.BYTEA;
         break;
-      case Types.LONGVARBINARY:
-        oid = Oid.VARBYTE;
-        break;
       case Types.CLOB: {
       	// In case of NULL, CLOB can be seen as VARCHAR
       	// This is useful in application like Spark dataframe which generates
@@ -604,10 +602,7 @@ public class RedshiftPreparedStatement extends RedshiftStatementImpl implements
     if (x == null) {
       setNull(parameterIndex, Types.DECIMAL);
     } else {
-      if(x instanceof BigInteger)
-        setString(parameterIndex, x.toString());
-      else
-        bindLiteral(parameterIndex, x.toString(), Oid.NUMERIC);
+      bindLiteral(parameterIndex, x.toString(), Oid.NUMERIC);
     }
   }
 
diff --git a/src/main/java/com/amazon/redshift/jdbc/RedshiftResultSet.java b/src/main/java/com/amazon/redshift/jdbc/RedshiftResultSet.java
index 8e2348df..66f78053 100644
--- a/src/main/java/com/amazon/redshift/jdbc/RedshiftResultSet.java
+++ b/src/main/java/com/amazon/redshift/jdbc/RedshiftResultSet.java
@@ -28,7 +28,6 @@ import com.amazon.redshift.util.HStoreConverter;
 import com.amazon.redshift.util.RedshiftBytea;
 import com.amazon.redshift.util.RedshiftObject;
 import com.amazon.redshift.util.RedshiftTokenizer;
-import com.amazon.redshift.util.RedshiftVarbyte;
 import com.amazon.redshift.util.RedshiftException;
 import com.amazon.redshift.util.RedshiftGeometry;
 import com.amazon.redshift.util.RedshiftState;
@@ -2277,12 +2276,6 @@ public class RedshiftResultSet implements ResultSet, com.amazon.redshift.Redshif
       if ("hstore".equals(getRSType(columnIndex))) {
         return HStoreConverter.toString((Map<?, ?>) obj);
       }
-      else
-      if(isVarbyte(columnIndex)) {
-      	// Convert raw binary to HEX
-  	   return trimString(columnIndex, RedshiftVarbyte.convertToString((byte[])obj));
-      } // VARBYTE
-      
       return trimString(columnIndex, obj.toString());
     }
     
@@ -2854,12 +2847,7 @@ public class RedshiftResultSet implements ResultSet, com.amazon.redshift.Redshif
     }
     if (fields[columnIndex - 1].getOID() == Oid.BYTEA) {
       return trimBytes(columnIndex, RedshiftBytea.toBytes(thisRow.get(columnIndex - 1)));
-    }
-    else
-    if (fields[columnIndex - 1].getOID() == Oid.VARBYTE) {
-      return trimBytes(columnIndex, RedshiftVarbyte.toBytes(thisRow.get(columnIndex - 1)));
-    } 
-    else {
+    } else {
       return trimBytes(columnIndex, thisRow.get(columnIndex - 1));
     }
   }
@@ -3283,10 +3271,6 @@ public class RedshiftResultSet implements ResultSet, com.amazon.redshift.Redshif
   protected boolean isSuper(int column) {
     return (fields[column - 1].getOID() == Oid.SUPER);
   }
-
-  protected boolean isVarbyte(int column) {
-    return (fields[column - 1].getOID() == Oid.VARBYTE);
-  }
   
   // ----------------- Formatting Methods -------------------
 
diff --git a/src/main/java/com/amazon/redshift/jdbc/TypeInfoCache.java b/src/main/java/com/amazon/redshift/jdbc/TypeInfoCache.java
index 7180819b..5cd24d82 100644
--- a/src/main/java/com/amazon/redshift/jdbc/TypeInfoCache.java
+++ b/src/main/java/com/amazon/redshift/jdbc/TypeInfoCache.java
@@ -68,9 +68,6 @@ public class TypeInfoCache implements TypeInfo {
   // super (previous name Omni)
   public static final String SUPER_NAME = "super";
   public static final int SUPEROID = Oid.SUPER;
-
-  public static final String VARBYTE_NAME = "varbyte";
-  public static final int VARBYTEOID = Oid.VARBYTE;
   
   public static final String TID_NAME = "tid";
   public static final String TID_ARRAY_NAME = "_tid";
@@ -124,8 +121,7 @@ public class TypeInfoCache implements TypeInfo {
       {"json", Oid.JSON, Types.OTHER, "com.amazon.redshift.util.RedshiftObject", Oid.JSON_ARRAY},
       {"point", Oid.POINT, Types.OTHER, "com.amazon.redshift.geometric.RedshiftPoint", Oid.POINT_ARRAY},
       {GEOMETRY_NAME, Oid.GEOMETRY, Types.LONGVARBINARY, "[B", Oid.GEOMETRY_ARRAY},
-      {SUPER_NAME, Oid.SUPER, Types.LONGVARCHAR, "java.lang.String", Oid.SUPER_ARRAY},
-      {VARBYTE_NAME, Oid.VARBYTE, Types.LONGVARBINARY, "[B", Oid.VARBYTE_ARRAY}
+      {SUPER_NAME, Oid.SUPER, Types.LONGVARCHAR, "java.lang.String", Oid.SUPER_ARRAY}
   };
 
   /**
@@ -700,7 +696,6 @@ public class TypeInfoCache implements TypeInfo {
       case Oid.BPCHAR:
       case Oid.VARCHAR:
       case Oid.SUPER:
-      case Oid.VARBYTE:
       case Oid.TIDOID:
       	
         if (typmod == -1) {
@@ -875,7 +870,6 @@ public class TypeInfoCache implements TypeInfo {
       case Oid.VARCHAR:
       case Oid.BPCHAR:
       case Oid.SUPER:
-      case Oid.VARBYTE:
       case Oid.TIDOID:
         if (typmod == -1) {
           return unknownLength;
@@ -927,8 +921,6 @@ public class TypeInfoCache implements TypeInfo {
         return 10485760;
       case Oid.SUPER:
         return 4194304;
-      case Oid.VARBYTE:
-        return 1000000;
       case Oid.BIT:
       case Oid.VARBIT:
         return 83886080;
diff --git a/src/main/java/com/amazon/redshift/plugin/JwtCredentialsProvider.java b/src/main/java/com/amazon/redshift/plugin/JwtCredentialsProvider.java
index 9d208680..48456e11 100755
--- a/src/main/java/com/amazon/redshift/plugin/JwtCredentialsProvider.java
+++ b/src/main/java/com/amazon/redshift/plugin/JwtCredentialsProvider.java
@@ -270,14 +270,6 @@ public abstract class JwtCredentialsProvider implements IPlugin
             AssumeRoleWithWebIdentityRequest jwtRequest = new AssumeRoleWithWebIdentityRequest();
             jwtRequest.setWebIdentityToken(jwt);
             jwtRequest.setRoleArn(m_roleArn);
-            
-            if(m_roleSessionName == null
-            		|| m_roleSessionName.isEmpty()
-            		|| m_roleSessionName.equalsIgnoreCase(DEFAULT_ROLE_SESSION_NAME)) {
-            	// Use user name as role session name for security purpose.
-            	m_roleSessionName = m_dbUser;
-            }
-            
             jwtRequest.setRoleSessionName(m_roleSessionName);
             if (m_duration > 0)
             {
diff --git a/src/main/java/com/amazon/redshift/plugin/PingCredentialsProvider.java b/src/main/java/com/amazon/redshift/plugin/PingCredentialsProvider.java
index 8baa28ae..b7233672 100755
--- a/src/main/java/com/amazon/redshift/plugin/PingCredentialsProvider.java
+++ b/src/main/java/com/amazon/redshift/plugin/PingCredentialsProvider.java
@@ -117,18 +117,11 @@ public class PingCredentialsProvider extends SamlCredentialsProvider
               		m_log.logDebug("name: {0} , id: {1}", name, id);
                 
                 if (username == null
-                    && (("username".equals(id)) 
-                    		 || ("pf.username".equals(id))
-                    		 || ("username".equals(name))                    		 
-                    		 || ("pf.username".equals(name))
-                    		)
-                    && isText(inputTag)) 
+                    && "username".equals(id) && isText(inputTag)) 
                 {
                 	username = new BasicNameValuePair(name, m_userName);
 		            } 
-                else if (("pf.pass".equals(name) 
-                					|| name.contains("pass")
-                				)
+                else if (("pf.pass".equals(name) || name.contains("pass"))
 		                    && isPassword(inputTag))
 		            {
 		                if (pass != null)
@@ -157,13 +150,6 @@ public class PingCredentialsProvider extends SamlCredentialsProvider
 		            for (String inputTag : getInputTagsfromHTML(body)) 
 		            {
 		                String name = getValueByKey(inputTag, "name");
-		                
-	                	if(RedshiftLogger.isEnable()) {
-	                		m_log.log(LogLevel.DEBUG, format("inputTag: %s " +
-	                                    "has name with field: %s",
-	                            inputTag, name));
-	                	}
-		                
 		                if (("email".equals(name) || name.contains("user")
 		                        || name.contains("email")) && isText(inputTag))
 		                {
@@ -174,13 +160,9 @@ public class PingCredentialsProvider extends SamlCredentialsProvider
 		        
 		        if (username == null || pass == null)
 		        {
-		        	boolean noUserName = (username == null);
-		        	boolean noPass = (pass == null);
-		        	
 		        	if(RedshiftLogger.isEnable())
 		        		m_log.log(LogLevel.DEBUG, body);
-		        	
-		          throw new IOException("Failed to parse login form. noUserName = " + noUserName + " noPass=" + noPass);
+		          throw new IOException("Failed to parse login form.");
 		        }
 		        
 		        parameters.add(username);
diff --git a/src/main/java/com/amazon/redshift/plugin/SamlCredentialsProvider.java b/src/main/java/com/amazon/redshift/plugin/SamlCredentialsProvider.java
index a24a8901..5ca4e11f 100755
--- a/src/main/java/com/amazon/redshift/plugin/SamlCredentialsProvider.java
+++ b/src/main/java/com/amazon/redshift/plugin/SamlCredentialsProvider.java
@@ -698,17 +698,6 @@ public abstract class SamlCredentialsProvider implements IPlugin
         return "";
     }
 
-    protected String getValueByKeyWithoutQuotesAndValueInSingleQuote(String input, String key)
-    {
-        Pattern keyValuePattern = Pattern.compile("(" + key + ")\\s*=\\s*'(.*?)'");
-        Matcher keyValueMatcher = keyValuePattern.matcher(input);
-        if (keyValueMatcher.find())
-        {
-            return escapeHtmlEntity(keyValueMatcher.group(2));
-        }
-        return "";
-    }
-    
     /**
      * Escape certain HTML entities for the given input string.
      *
@@ -782,25 +771,11 @@ public abstract class SamlCredentialsProvider implements IPlugin
     
     protected boolean isText(String inputTag)
     {
-    		String typeVal = getValueByKey(inputTag, "type");
-    		if(typeVal == null
-    				|| typeVal.length() == 0)
-    		{
-    			typeVal = getValueByKeyWithoutQuotesAndValueInSingleQuote(inputTag, "type");
-    		}
-    		
-        return "text".equals(typeVal);
+        return "text".equals(getValueByKey(inputTag, "type"));
     }
 
     protected boolean isPassword(String inputTag)
     {
-  		String typeVal = getValueByKey(inputTag, "type");
-  		if(typeVal == null
-  				|| typeVal.length() == 0)
-  		{
-  			typeVal = getValueByKeyWithoutQuotesAndValueInSingleQuote(inputTag, "type");
-  		}
-  		
-      return "password".equals(typeVal);
+        return "password".equals(getValueByKey(inputTag, "type"));
     }    
 }
diff --git a/src/main/java/com/amazon/redshift/plugin/utils/RequestUtils.java b/src/main/java/com/amazon/redshift/plugin/utils/RequestUtils.java
index a8301e92..3ee9a7e9 100755
--- a/src/main/java/com/amazon/redshift/plugin/utils/RequestUtils.java
+++ b/src/main/java/com/amazon/redshift/plugin/utils/RequestUtils.java
@@ -69,21 +69,17 @@ public class RequestUtils
 	      clientConfig = new ClientConfiguration();
 	    	String proxyHost = System.getProperty("https.proxyHost");
 	    	String proxyPort = System.getProperty("https.proxyPort");
-	    	String nonProxyHosts = System.getProperty("http.nonProxyHosts");
 	    	
 	    	if (proxyHost != null)
 	    		clientConfig.setProxyHost(proxyHost);
-
-	    	if (nonProxyHosts != null)
-	    		clientConfig.setNonProxyHosts(nonProxyHosts);
 	    	
 	    	if (proxyPort != null)
 	    		clientConfig.setProxyPort(Integer.parseInt(proxyPort));
 	      
         if (RedshiftLogger.isEnable())
     			log.logDebug(
-            String.format("useProxy: %s proxyHost: %s proxyPort:%s nonProxyHosts:%s" , 
-            								useProxy, proxyHost, proxyPort, nonProxyHosts));
+            String.format("useProxy: %s proxyHost: %s proxyPort:%s" , 
+            								useProxy, proxyHost, proxyPort));
 	    }
 	    else {
         if (RedshiftLogger.isEnable())
diff --git a/src/main/java/com/amazon/redshift/util/ExtensibleDigest.java b/src/main/java/com/amazon/redshift/util/ExtensibleDigest.java
deleted file mode 100644
index 25a40742..00000000
--- a/src/main/java/com/amazon/redshift/util/ExtensibleDigest.java
+++ /dev/null
@@ -1,49 +0,0 @@
-package com.amazon.redshift.util;
-
-import java.security.MessageDigest;
-import java.security.NoSuchAlgorithmException;
-
-/**
- * Extensible hashing utility function to obfuscate passwords before network transmission.
- *
- */
-public class ExtensibleDigest {
-  private ExtensibleDigest() {
-  }
-
-  /**
-   * Encodes user/password/salt information in the following way: SHA2(SHA2(password + user) + salt).
-   *
-   * @param clientNonce The client nonce.
-   * @param password The connecting user's password.
-   * @param salt salt sent by the server.
-   * @param algoName Algorithm name such as "SHA-256" etc.
-   * @param serverNonce random number generated by server 
-   * @return A byte array of the digest.
-   */
-  public static byte[] encode(byte[] clientNonce, 
-  														byte[] password, 
-  														byte[] salt, 
-  														String algoName,
-  														byte[] serverNonce) {
-    MessageDigest md;
-    byte[] passDigest;
-
-    try {
-      md = MessageDigest.getInstance(algoName);
-      md.update(password);
-      md.update(salt);
-      passDigest = md.digest();
-
-      md = MessageDigest.getInstance(algoName);
-      md.update(passDigest);
-      md.update(serverNonce);
-      md.update(clientNonce);
-      passDigest = md.digest();
-    } catch (NoSuchAlgorithmException e) {
-      throw new IllegalStateException("Unable to encode password with extensible hashing:" + algoName, e);
-    }
-
-    return passDigest;
-  }
-}
diff --git a/src/main/java/com/amazon/redshift/util/RedshiftVarbyte.java b/src/main/java/com/amazon/redshift/util/RedshiftVarbyte.java
deleted file mode 100644
index 12ee41e8..00000000
--- a/src/main/java/com/amazon/redshift/util/RedshiftVarbyte.java
+++ /dev/null
@@ -1,58 +0,0 @@
-package com.amazon.redshift.util;
-
-import java.sql.SQLException;
-
-public class RedshiftVarbyte {
-	
-  /*
-   * Converts a RS varbyte raw value (i.e. the raw binary representation of the varbyte data type) into
-   * a java byte[]
-   */
-  public static byte[] toBytes(byte[] s) throws SQLException {
-    if (s == null) {
-      return null;
-    }
-    
-    return toBytesFromHex(s);
-  }
-  
-  public static String convertToString(byte[] data) {
-    char[] hex = "0123456789ABCDEF".toCharArray();
-    char[] hexChars = new char[2 * data.length];
-    for (int i = 0; i < data.length; i++)
-    {
-        int v = data[i] & 0xFF;
-        hexChars[i * 2] = hex[v >>> 4];
-        hexChars[i * 2 + 1] = hex[v & 0x0F];
-    }
-    
-    return new String(hexChars);
-  }
-  
-  private static byte[] toBytesFromHex(byte[] s) {
-    byte[] output = new byte[(s.length) / 2];
-    for (int i = 0; i < output.length; i++) {
-      byte b1 = gethex(s[i * 2]);
-      byte b2 = gethex(s[i * 2 + 1]);
-      // squid:S3034
-      // Raw byte values should not be used in bitwise operations in combination with shifts
-      output[i] = (byte) ((b1 << 4) | (b2 & 0xff));
-    }
-    return output;
-  }
-  
-  private static byte gethex(byte b) {
-    // 0-9 == 48-57
-    if (b <= 57) {
-      return (byte) (b - 48);
-    }
-
-    // a-f == 97-102
-    if (b >= 97) {
-      return (byte) (b - 97 + 10);
-    }
-
-    // A-F == 65-70
-    return (byte) (b - 65 + 10);
-  }
-}
diff --git a/src/main/resources/com/amazon/redshift/plugin/adfs.exe b/src/main/resources/com/amazon/redshift/plugin/adfs.exe
index ec71bb34..407110f2 100755
Binary files a/src/main/resources/com/amazon/redshift/plugin/adfs.exe and b/src/main/resources/com/amazon/redshift/plugin/adfs.exe differ
diff --git a/tests/src/test/java/test/amazon/redshift/ServerLoggingTest.java b/tests/src/test/java/test/amazon/redshift/ServerLoggingTest.java
index fadd0dbc..95caf623 100644
--- a/tests/src/test/java/test/amazon/redshift/ServerLoggingTest.java
+++ b/tests/src/test/java/test/amazon/redshift/ServerLoggingTest.java
@@ -56,7 +56,7 @@ public class ServerLoggingTest {
                         "select trim(event), recordtime, trim(os_version)," +
                                 " trim(driver_version), protocol_version " +
                                 "from stl_connection_log " +
-                                "where driver_version like 'Redshift JDBC Driver 2.%' " +
+                                "where driver_version = 'Redshift JDBC Driver 2.0.0.0' " +
                                 "order by recordtime desc");
 
         assertThat(rs.next(), is(true));
diff --git a/tests/src/test/java/test/amazon/redshift/iam/AzurePluginTest.java b/tests/src/test/java/test/amazon/redshift/iam/AzurePluginTest.java
index ae2a55d2..c878984a 100644
--- a/tests/src/test/java/test/amazon/redshift/iam/AzurePluginTest.java
+++ b/tests/src/test/java/test/amazon/redshift/iam/AzurePluginTest.java
@@ -57,7 +57,7 @@ public class AzurePluginTest extends BasePluginTest {
     public void test_azure() throws Exception {
         connectionProperties.put("client_id", CLIENT_ID);
         connectionProperties.put("idp_tenant", IDP_TENANT);
-        connectionProperties.put("client_secret", "h.mHdj4R1tAiT1Neg3.~~21Ob~Y6K389B6");
+        connectionProperties.put("client_secret", "0..0x1oq-.ahsoJMVutM8vTTMAbTv7IihE");
         
         connectionProperties.put("user", USER);
         connectionProperties.put("PWD", PWD);
diff --git a/tests/src/test/java/test/amazon/redshift/jdbc42/PreparedStatementTest.java b/tests/src/test/java/test/amazon/redshift/jdbc42/PreparedStatementTest.java
index d7b01859..2465b971 100644
--- a/tests/src/test/java/test/amazon/redshift/jdbc42/PreparedStatementTest.java
+++ b/tests/src/test/java/test/amazon/redshift/jdbc42/PreparedStatementTest.java
@@ -168,18 +168,4 @@ public class PreparedStatementTest {
             ));
         });
     }
-    
-    @Test
-    public void test_executeQueryWithParamStringGetObject_shouldSupport() throws SQLException {
-        PreparedStatement pst = con.prepareStatement("select ?;");
-        pst.setString(1, "1");
-        pst.setFetchDirection(ResultSet.FETCH_FORWARD);
-        pst.execute();
-        ResultSet rs = pst.getResultSet();
-        while (rs.next()) {
-            rs.getObject(1);
-        }
-        pst.close();
-        rs.close();
-    }
 }
diff --git a/version.txt b/version.txt
index 303a3e3b..df5bd0ff 100644
--- a/version.txt
+++ b/version.txt
@@ -1 +1 @@
-2.1.0.2
+2.0.0.6
