final class com.microsoft.sqlserver.jdbc.ServerDTVImpl extends com.microsoft.sqlserver.jdbc.DTVImpl
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: com.microsoft.sqlserver.jdbc.ServerDTVImpl
  super_class: com.microsoft.sqlserver.jdbc.DTVImpl
{
  private int valueLength;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private com.microsoft.sqlserver.jdbc.TDSReaderMark valueMark;
    descriptor: Lcom/microsoft/sqlserver/jdbc/TDSReaderMark;
    flags: (0x0002) ACC_PRIVATE

  private boolean isNull;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private com.microsoft.sqlserver.jdbc.SqlVariant internalVariant;
    descriptor: Lcom/microsoft/sqlserver/jdbc/SqlVariant;
    flags: (0x0002) ACC_PRIVATE

  private static final int STREAMCONSUMED;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: -2

  private static final java.util.logging.Logger aeLogger;
    descriptor: Ljava/util/logging/Logger;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  private static volatile int[] $SWITCH_TABLE$com$microsoft$sqlserver$jdbc$SSLenType;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

  private static volatile int[] $SWITCH_TABLE$com$microsoft$sqlserver$jdbc$SSType;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

  private static volatile int[] $SWITCH_TABLE$com$microsoft$sqlserver$jdbc$TDSType;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 3236
            ldc Lcom/microsoft/sqlserver/jdbc/ServerDTVImpl;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic com.microsoft.sqlserver.jdbc.ServerDTVImpl.$assertionsDisabled:Z
         3: .line 3369
            ldc "com.microsoft.sqlserver.jdbc.DTV"
            invokestatic java.util.logging.Logger.getLogger:(Ljava/lang/String;)Ljava/util/logging/Logger;
         4: .line 3368
            putstatic com.microsoft.sqlserver.jdbc.ServerDTVImpl.aeLogger:Ljava/util/logging/Logger;
         5: .line 3369
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  void <init>();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.ServerDTVImpl this
         0: .line 3236
            aload 0 /* this */
            invokespecial com.microsoft.sqlserver.jdbc.DTVImpl.<init>:()V
            return
        end local 0 // com.microsoft.sqlserver.jdbc.ServerDTVImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/microsoft/sqlserver/jdbc/ServerDTVImpl;

  void setValue(com.microsoft.sqlserver.jdbc.DTV, com.microsoft.sqlserver.jdbc.SQLCollation, com.microsoft.sqlserver.jdbc.JDBCType, java.lang.Object, com.microsoft.sqlserver.jdbc.JavaType, com.microsoft.sqlserver.jdbc.StreamSetterArgs, java.util.Calendar, java.lang.Integer, com.microsoft.sqlserver.jdbc.SQLServerConnection, boolean);
    descriptor: (Lcom/microsoft/sqlserver/jdbc/DTV;Lcom/microsoft/sqlserver/jdbc/SQLCollation;Lcom/microsoft/sqlserver/jdbc/JDBCType;Ljava/lang/Object;Lcom/microsoft/sqlserver/jdbc/JavaType;Lcom/microsoft/sqlserver/jdbc/StreamSetterArgs;Ljava/util/Calendar;Ljava/lang/Integer;Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;Z)V
    flags: (0x0000) 
    Code:
      stack=10, locals=11, args_size=11
        start local 0 // com.microsoft.sqlserver.jdbc.ServerDTVImpl this
        start local 1 // com.microsoft.sqlserver.jdbc.DTV dtv
        start local 2 // com.microsoft.sqlserver.jdbc.SQLCollation collation
        start local 3 // com.microsoft.sqlserver.jdbc.JDBCType jdbcType
        start local 4 // java.lang.Object value
        start local 5 // com.microsoft.sqlserver.jdbc.JavaType javaType
        start local 6 // com.microsoft.sqlserver.jdbc.StreamSetterArgs streamSetterArgs
        start local 7 // java.util.Calendar cal
        start local 8 // java.lang.Integer scale
        start local 9 // com.microsoft.sqlserver.jdbc.SQLServerConnection con
        start local 10 // boolean forceEncrypt
         0: .line 3251
            aload 1 /* dtv */
            new com.microsoft.sqlserver.jdbc.AppDTVImpl
            dup
            invokespecial com.microsoft.sqlserver.jdbc.AppDTVImpl.<init>:()V
            invokevirtual com.microsoft.sqlserver.jdbc.DTV.setImpl:(Lcom/microsoft/sqlserver/jdbc/DTVImpl;)V
         1: .line 3252
            aload 1 /* dtv */
            aload 2 /* collation */
            aload 3 /* jdbcType */
            aload 4 /* value */
            aload 5 /* javaType */
            aload 6 /* streamSetterArgs */
            aload 7 /* cal */
            aload 8 /* scale */
            aload 9 /* con */
            iload 10 /* forceEncrypt */
            invokevirtual com.microsoft.sqlserver.jdbc.DTV.setValue:(Lcom/microsoft/sqlserver/jdbc/SQLCollation;Lcom/microsoft/sqlserver/jdbc/JDBCType;Ljava/lang/Object;Lcom/microsoft/sqlserver/jdbc/JavaType;Lcom/microsoft/sqlserver/jdbc/StreamSetterArgs;Ljava/util/Calendar;Ljava/lang/Integer;Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;Z)V
         2: .line 3253
            return
        end local 10 // boolean forceEncrypt
        end local 9 // com.microsoft.sqlserver.jdbc.SQLServerConnection con
        end local 8 // java.lang.Integer scale
        end local 7 // java.util.Calendar cal
        end local 6 // com.microsoft.sqlserver.jdbc.StreamSetterArgs streamSetterArgs
        end local 5 // com.microsoft.sqlserver.jdbc.JavaType javaType
        end local 4 // java.lang.Object value
        end local 3 // com.microsoft.sqlserver.jdbc.JDBCType jdbcType
        end local 2 // com.microsoft.sqlserver.jdbc.SQLCollation collation
        end local 1 // com.microsoft.sqlserver.jdbc.DTV dtv
        end local 0 // com.microsoft.sqlserver.jdbc.ServerDTVImpl this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    3     0              this  Lcom/microsoft/sqlserver/jdbc/ServerDTVImpl;
            0    3     1               dtv  Lcom/microsoft/sqlserver/jdbc/DTV;
            0    3     2         collation  Lcom/microsoft/sqlserver/jdbc/SQLCollation;
            0    3     3          jdbcType  Lcom/microsoft/sqlserver/jdbc/JDBCType;
            0    3     4             value  Ljava/lang/Object;
            0    3     5          javaType  Lcom/microsoft/sqlserver/jdbc/JavaType;
            0    3     6  streamSetterArgs  Lcom/microsoft/sqlserver/jdbc/StreamSetterArgs;
            0    3     7               cal  Ljava/util/Calendar;
            0    3     8             scale  Ljava/lang/Integer;
            0    3     9               con  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            0    3    10      forceEncrypt  Z
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
                  Name  Flags
      dtv               
      collation         
      jdbcType          
      value             
      javaType          
      streamSetterArgs  
      cal               
      scale             
      con               
      forceEncrypt      

  void setValue(java.lang.Object, com.microsoft.sqlserver.jdbc.JavaType);
    descriptor: (Ljava/lang/Object;Lcom/microsoft/sqlserver/jdbc/JavaType;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // com.microsoft.sqlserver.jdbc.ServerDTVImpl this
        start local 1 // java.lang.Object value
        start local 2 // com.microsoft.sqlserver.jdbc.JavaType javaType
         0: .line 3257
            getstatic com.microsoft.sqlserver.jdbc.ServerDTVImpl.$assertionsDisabled:Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 3258
      StackMap locals:
      StackMap stack:
            return
        end local 2 // com.microsoft.sqlserver.jdbc.JavaType javaType
        end local 1 // java.lang.Object value
        end local 0 // com.microsoft.sqlserver.jdbc.ServerDTVImpl this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lcom/microsoft/sqlserver/jdbc/ServerDTVImpl;
            0    2     1     value  Ljava/lang/Object;
            0    2     2  javaType  Lcom/microsoft/sqlserver/jdbc/JavaType;
    MethodParameters:
          Name  Flags
      value     
      javaType  

  void setPositionAfterStreamed(com.microsoft.sqlserver.jdbc.TDSReader);
    descriptor: (Lcom/microsoft/sqlserver/jdbc/TDSReader;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.microsoft.sqlserver.jdbc.ServerDTVImpl this
        start local 1 // com.microsoft.sqlserver.jdbc.TDSReader tdsReader
         0: .line 3266
            aload 0 /* this */
            aload 1 /* tdsReader */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSReader.mark:()Lcom/microsoft/sqlserver/jdbc/TDSReaderMark;
            putfield com.microsoft.sqlserver.jdbc.ServerDTVImpl.valueMark:Lcom/microsoft/sqlserver/jdbc/TDSReaderMark;
         1: .line 3267
            aload 0 /* this */
            bipush -2
            putfield com.microsoft.sqlserver.jdbc.ServerDTVImpl.valueLength:I
         2: .line 3268
            return
        end local 1 // com.microsoft.sqlserver.jdbc.TDSReader tdsReader
        end local 0 // com.microsoft.sqlserver.jdbc.ServerDTVImpl this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Lcom/microsoft/sqlserver/jdbc/ServerDTVImpl;
            0    3     1  tdsReader  Lcom/microsoft/sqlserver/jdbc/TDSReader;
    MethodParameters:
           Name  Flags
      tdsReader  

  void setStreamSetterArgs(com.microsoft.sqlserver.jdbc.StreamSetterArgs);
    descriptor: (Lcom/microsoft/sqlserver/jdbc/StreamSetterArgs;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.microsoft.sqlserver.jdbc.ServerDTVImpl this
        start local 1 // com.microsoft.sqlserver.jdbc.StreamSetterArgs streamSetterArgs
         0: .line 3272
            getstatic com.microsoft.sqlserver.jdbc.ServerDTVImpl.$assertionsDisabled:Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 3273
      StackMap locals:
      StackMap stack:
            return
        end local 1 // com.microsoft.sqlserver.jdbc.StreamSetterArgs streamSetterArgs
        end local 0 // com.microsoft.sqlserver.jdbc.ServerDTVImpl this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    2     0              this  Lcom/microsoft/sqlserver/jdbc/ServerDTVImpl;
            0    2     1  streamSetterArgs  Lcom/microsoft/sqlserver/jdbc/StreamSetterArgs;
    MethodParameters:
                  Name  Flags
      streamSetterArgs  

  void setCalendar(java.util.Calendar);
    descriptor: (Ljava/util/Calendar;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.microsoft.sqlserver.jdbc.ServerDTVImpl this
        start local 1 // java.util.Calendar calendar
         0: .line 3277
            getstatic com.microsoft.sqlserver.jdbc.ServerDTVImpl.$assertionsDisabled:Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 3278
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.util.Calendar calendar
        end local 0 // com.microsoft.sqlserver.jdbc.ServerDTVImpl this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lcom/microsoft/sqlserver/jdbc/ServerDTVImpl;
            0    2     1  calendar  Ljava/util/Calendar;
    MethodParameters:
          Name  Flags
      calendar  

  void setScale(java.lang.Integer);
    descriptor: (Ljava/lang/Integer;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.microsoft.sqlserver.jdbc.ServerDTVImpl this
        start local 1 // java.lang.Integer scale
         0: .line 3282
            getstatic com.microsoft.sqlserver.jdbc.ServerDTVImpl.$assertionsDisabled:Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 3283
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.Integer scale
        end local 0 // com.microsoft.sqlserver.jdbc.ServerDTVImpl this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lcom/microsoft/sqlserver/jdbc/ServerDTVImpl;
            0    2     1  scale  Ljava/lang/Integer;
    MethodParameters:
       Name  Flags
      scale  

  void setForceEncrypt(boolean);
    descriptor: (Z)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.microsoft.sqlserver.jdbc.ServerDTVImpl this
        start local 1 // boolean forceEncrypt
         0: .line 3287
            getstatic com.microsoft.sqlserver.jdbc.ServerDTVImpl.$assertionsDisabled:Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 3288
      StackMap locals:
      StackMap stack:
            return
        end local 1 // boolean forceEncrypt
        end local 0 // com.microsoft.sqlserver.jdbc.ServerDTVImpl this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Lcom/microsoft/sqlserver/jdbc/ServerDTVImpl;
            0    2     1  forceEncrypt  Z
    MethodParameters:
              Name  Flags
      forceEncrypt  

  com.microsoft.sqlserver.jdbc.StreamSetterArgs getStreamSetterArgs();
    descriptor: ()Lcom/microsoft/sqlserver/jdbc/StreamSetterArgs;
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.ServerDTVImpl this
         0: .line 3292
            getstatic com.microsoft.sqlserver.jdbc.ServerDTVImpl.$assertionsDisabled:Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 3293
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 0 // com.microsoft.sqlserver.jdbc.ServerDTVImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/microsoft/sqlserver/jdbc/ServerDTVImpl;

  java.util.Calendar getCalendar();
    descriptor: ()Ljava/util/Calendar;
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.ServerDTVImpl this
         0: .line 3298
            getstatic com.microsoft.sqlserver.jdbc.ServerDTVImpl.$assertionsDisabled:Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 3299
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 0 // com.microsoft.sqlserver.jdbc.ServerDTVImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/microsoft/sqlserver/jdbc/ServerDTVImpl;

  java.lang.Integer getScale();
    descriptor: ()Ljava/lang/Integer;
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.ServerDTVImpl this
         0: .line 3304
            getstatic com.microsoft.sqlserver.jdbc.ServerDTVImpl.$assertionsDisabled:Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 3305
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 0 // com.microsoft.sqlserver.jdbc.ServerDTVImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/microsoft/sqlserver/jdbc/ServerDTVImpl;

  boolean isNull();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.ServerDTVImpl this
         0: .line 3309
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.ServerDTVImpl.isNull:Z
            ireturn
        end local 0 // com.microsoft.sqlserver.jdbc.ServerDTVImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/microsoft/sqlserver/jdbc/ServerDTVImpl;

  void setJdbcType(com.microsoft.sqlserver.jdbc.JDBCType);
    descriptor: (Lcom/microsoft/sqlserver/jdbc/JDBCType;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.microsoft.sqlserver.jdbc.ServerDTVImpl this
        start local 1 // com.microsoft.sqlserver.jdbc.JDBCType jdbcType
         0: .line 3314
            getstatic com.microsoft.sqlserver.jdbc.ServerDTVImpl.$assertionsDisabled:Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 3315
      StackMap locals:
      StackMap stack:
            return
        end local 1 // com.microsoft.sqlserver.jdbc.JDBCType jdbcType
        end local 0 // com.microsoft.sqlserver.jdbc.ServerDTVImpl this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lcom/microsoft/sqlserver/jdbc/ServerDTVImpl;
            0    2     1  jdbcType  Lcom/microsoft/sqlserver/jdbc/JDBCType;
    MethodParameters:
          Name  Flags
      jdbcType  

  com.microsoft.sqlserver.jdbc.JDBCType getJdbcType();
    descriptor: ()Lcom/microsoft/sqlserver/jdbc/JDBCType;
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.ServerDTVImpl this
         0: .line 3319
            getstatic com.microsoft.sqlserver.jdbc.ServerDTVImpl.$assertionsDisabled:Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 3320
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.JDBCType.UNKNOWN:Lcom/microsoft/sqlserver/jdbc/JDBCType;
            areturn
        end local 0 // com.microsoft.sqlserver.jdbc.ServerDTVImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/microsoft/sqlserver/jdbc/ServerDTVImpl;

  com.microsoft.sqlserver.jdbc.JavaType getJavaType();
    descriptor: ()Lcom/microsoft/sqlserver/jdbc/JavaType;
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.ServerDTVImpl this
         0: .line 3325
            getstatic com.microsoft.sqlserver.jdbc.ServerDTVImpl.$assertionsDisabled:Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 3326
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.JavaType.OBJECT:Lcom/microsoft/sqlserver/jdbc/JavaType;
            areturn
        end local 0 // com.microsoft.sqlserver.jdbc.ServerDTVImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/microsoft/sqlserver/jdbc/ServerDTVImpl;

  final void initFromCompressedNull();
    descriptor: ()V
    flags: (0x0010) ACC_FINAL
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.ServerDTVImpl this
         0: .line 3333
            getstatic com.microsoft.sqlserver.jdbc.ServerDTVImpl.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.ServerDTVImpl.valueMark:Lcom/microsoft/sqlserver/jdbc/TDSReaderMark;
            ifnull 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 3334
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield com.microsoft.sqlserver.jdbc.ServerDTVImpl.isNull:Z
         2: .line 3335
            return
        end local 0 // com.microsoft.sqlserver.jdbc.ServerDTVImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/microsoft/sqlserver/jdbc/ServerDTVImpl;

  final void skipValue(com.microsoft.sqlserver.jdbc.TypeInfo, com.microsoft.sqlserver.jdbc.TDSReader, boolean);
    descriptor: (Lcom/microsoft/sqlserver/jdbc/TypeInfo;Lcom/microsoft/sqlserver/jdbc/TDSReader;Z)V
    flags: (0x0010) ACC_FINAL
    Code:
      stack=3, locals=6, args_size=4
        start local 0 // com.microsoft.sqlserver.jdbc.ServerDTVImpl this
        start local 1 // com.microsoft.sqlserver.jdbc.TypeInfo type
        start local 2 // com.microsoft.sqlserver.jdbc.TDSReader tdsReader
        start local 3 // boolean isDiscard
         0: .line 3340
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.ServerDTVImpl.valueMark:Lcom/microsoft/sqlserver/jdbc/TDSReaderMark;
            ifnonnull 2
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.ServerDTVImpl.isNull:Z
            ifeq 2
         1: .line 3341
            return
         2: .line 3344
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.ServerDTVImpl.valueMark:Lcom/microsoft/sqlserver/jdbc/TDSReaderMark;
            ifnonnull 4
         3: .line 3345
            aload 0 /* this */
            aload 1 /* type */
            aload 2 /* tdsReader */
            invokevirtual com.microsoft.sqlserver.jdbc.ServerDTVImpl.getValuePrep:(Lcom/microsoft/sqlserver/jdbc/TypeInfo;Lcom/microsoft/sqlserver/jdbc/TDSReader;)V
         4: .line 3346
      StackMap locals:
      StackMap stack:
            aload 2 /* tdsReader */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.ServerDTVImpl.valueMark:Lcom/microsoft/sqlserver/jdbc/TDSReaderMark;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSReader.reset:(Lcom/microsoft/sqlserver/jdbc/TDSReaderMark;)V
         5: .line 3348
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.ServerDTVImpl.valueLength:I
            bipush -2
            if_icmpeq 17
         6: .line 3349
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.ServerDTVImpl.valueLength:I
            iconst_m1
            if_icmpne 15
         7: .line 3350
            getstatic com.microsoft.sqlserver.jdbc.ServerDTVImpl.$assertionsDisabled:Z
            ifne 8
            getstatic com.microsoft.sqlserver.jdbc.SSLenType.PARTLENTYPE:Lcom/microsoft/sqlserver/jdbc/SSLenType;
            aload 1 /* type */
            invokevirtual com.microsoft.sqlserver.jdbc.TypeInfo.getSSLenType:()Lcom/microsoft/sqlserver/jdbc/SSLenType;
            if_acmpeq 8
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         8: .line 3353
      StackMap locals:
      StackMap stack:
            aload 2 /* tdsReader */
            iload 3 /* isDiscard */
            aload 0 /* this */
            invokestatic com.microsoft.sqlserver.jdbc.PLPInputStream.makeTempStream:(Lcom/microsoft/sqlserver/jdbc/TDSReader;ZLcom/microsoft/sqlserver/jdbc/ServerDTVImpl;)Lcom/microsoft/sqlserver/jdbc/PLPInputStream;
            astore 4 /* tempPLP */
        start local 4 // com.microsoft.sqlserver.jdbc.PLPInputStream tempPLP
         9: .line 3355
            aload 4 /* tempPLP */
            ifnull 17
        10: .line 3356
            aload 4 /* tempPLP */
            invokevirtual com.microsoft.sqlserver.jdbc.PLPInputStream.close:()V
        11: .line 3357
            goto 17
      StackMap locals: com.microsoft.sqlserver.jdbc.ServerDTVImpl com.microsoft.sqlserver.jdbc.TypeInfo com.microsoft.sqlserver.jdbc.TDSReader int com.microsoft.sqlserver.jdbc.PLPInputStream
      StackMap stack: java.io.IOException
        12: astore 5 /* e */
        start local 5 // java.io.IOException e
        13: .line 3358
            aload 2 /* tdsReader */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSReader.getConnection:()Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            iconst_3
            aload 5 /* e */
            invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.terminate:(ILjava/lang/String;)V
        end local 5 // java.io.IOException e
        end local 4 // com.microsoft.sqlserver.jdbc.PLPInputStream tempPLP
        14: .line 3360
            goto 17
        15: .line 3361
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.ServerDTVImpl.$assertionsDisabled:Z
            ifne 16
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.ServerDTVImpl.valueLength:I
            ifge 16
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        16: .line 3362
      StackMap locals:
      StackMap stack:
            aload 2 /* tdsReader */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.ServerDTVImpl.valueLength:I
            invokevirtual com.microsoft.sqlserver.jdbc.TDSReader.skip:(I)V
        17: .line 3366
      StackMap locals:
      StackMap stack:
            return
        end local 3 // boolean isDiscard
        end local 2 // com.microsoft.sqlserver.jdbc.TDSReader tdsReader
        end local 1 // com.microsoft.sqlserver.jdbc.TypeInfo type
        end local 0 // com.microsoft.sqlserver.jdbc.ServerDTVImpl this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   18     0       this  Lcom/microsoft/sqlserver/jdbc/ServerDTVImpl;
            0   18     1       type  Lcom/microsoft/sqlserver/jdbc/TypeInfo;
            0   18     2  tdsReader  Lcom/microsoft/sqlserver/jdbc/TDSReader;
            0   18     3  isDiscard  Z
            9   14     4    tempPLP  Lcom/microsoft/sqlserver/jdbc/PLPInputStream;
           13   14     5          e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           9    11      12  Class java.io.IOException
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
           Name  Flags
      type       
      tdsReader  
      isDiscard  

  private void getValuePrep(com.microsoft.sqlserver.jdbc.TypeInfo, com.microsoft.sqlserver.jdbc.TDSReader);
    descriptor: (Lcom/microsoft/sqlserver/jdbc/TypeInfo;Lcom/microsoft/sqlserver/jdbc/TDSReader;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.microsoft.sqlserver.jdbc.ServerDTVImpl this
        start local 1 // com.microsoft.sqlserver.jdbc.TypeInfo typeInfo
        start local 2 // com.microsoft.sqlserver.jdbc.TDSReader tdsReader
         0: .line 3373
            getstatic com.microsoft.sqlserver.jdbc.ServerDTVImpl.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.ServerDTVImpl.valueMark:Lcom/microsoft/sqlserver/jdbc/TDSReaderMark;
            ifnull 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 3376
      StackMap locals:
      StackMap stack:
            invokestatic com.microsoft.sqlserver.jdbc.ServerDTVImpl.$SWITCH_TABLE$com$microsoft$sqlserver$jdbc$SSLenType:()[I
            aload 1 /* typeInfo */
            invokevirtual com.microsoft.sqlserver.jdbc.TypeInfo.getSSLenType:()Lcom/microsoft/sqlserver/jdbc/SSLenType;
            invokevirtual com.microsoft.sqlserver.jdbc.SSLenType.ordinal:()I
            iaload
            tableswitch { // 1 - 5
                    1: 5
                    2: 10
                    3: 15
                    4: 22
                    5: 2
              default: 39
          }
         2: .line 3378
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_m1
            putfield com.microsoft.sqlserver.jdbc.ServerDTVImpl.valueLength:I
         3: .line 3379
            aload 0 /* this */
            aload 2 /* tdsReader */
            invokestatic com.microsoft.sqlserver.jdbc.PLPInputStream.isNull:(Lcom/microsoft/sqlserver/jdbc/TDSReader;)Z
            putfield com.microsoft.sqlserver.jdbc.ServerDTVImpl.isNull:Z
         4: .line 3380
            goto 39
         5: .line 3383
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* typeInfo */
            invokevirtual com.microsoft.sqlserver.jdbc.TypeInfo.getMaxLength:()I
            putfield com.microsoft.sqlserver.jdbc.ServerDTVImpl.valueLength:I
         6: .line 3384
            aload 0 /* this */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.ServerDTVImpl.valueLength:I
            ifne 7
            iconst_1
            goto 8
      StackMap locals:
      StackMap stack: com.microsoft.sqlserver.jdbc.ServerDTVImpl
         7: iconst_0
      StackMap locals: com.microsoft.sqlserver.jdbc.ServerDTVImpl com.microsoft.sqlserver.jdbc.TypeInfo com.microsoft.sqlserver.jdbc.TDSReader
      StackMap stack: com.microsoft.sqlserver.jdbc.ServerDTVImpl int
         8: putfield com.microsoft.sqlserver.jdbc.ServerDTVImpl.isNull:Z
         9: .line 3385
            goto 39
        10: .line 3388
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* tdsReader */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSReader.readUnsignedByte:()I
            putfield com.microsoft.sqlserver.jdbc.ServerDTVImpl.valueLength:I
        11: .line 3389
            aload 0 /* this */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.ServerDTVImpl.valueLength:I
            ifne 12
            iconst_1
            goto 13
      StackMap locals:
      StackMap stack: com.microsoft.sqlserver.jdbc.ServerDTVImpl
        12: iconst_0
      StackMap locals: com.microsoft.sqlserver.jdbc.ServerDTVImpl com.microsoft.sqlserver.jdbc.TypeInfo com.microsoft.sqlserver.jdbc.TDSReader
      StackMap stack: com.microsoft.sqlserver.jdbc.ServerDTVImpl int
        13: putfield com.microsoft.sqlserver.jdbc.ServerDTVImpl.isNull:Z
        14: .line 3390
            goto 39
        15: .line 3393
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* tdsReader */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSReader.readUnsignedShort:()I
            putfield com.microsoft.sqlserver.jdbc.ServerDTVImpl.valueLength:I
        16: .line 3394
            aload 0 /* this */
            ldc 65535
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.ServerDTVImpl.valueLength:I
            if_icmpne 17
            iconst_1
            goto 18
      StackMap locals:
      StackMap stack: com.microsoft.sqlserver.jdbc.ServerDTVImpl
        17: iconst_0
      StackMap locals: com.microsoft.sqlserver.jdbc.ServerDTVImpl com.microsoft.sqlserver.jdbc.TypeInfo com.microsoft.sqlserver.jdbc.TDSReader
      StackMap stack: com.microsoft.sqlserver.jdbc.ServerDTVImpl int
        18: putfield com.microsoft.sqlserver.jdbc.ServerDTVImpl.isNull:Z
        19: .line 3395
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.ServerDTVImpl.isNull:Z
            ifeq 39
        20: .line 3396
            aload 0 /* this */
            iconst_0
            putfield com.microsoft.sqlserver.jdbc.ServerDTVImpl.valueLength:I
        21: .line 3397
            goto 39
        22: .line 3400
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SSType.TEXT:Lcom/microsoft/sqlserver/jdbc/SSType;
            aload 1 /* typeInfo */
            invokevirtual com.microsoft.sqlserver.jdbc.TypeInfo.getSSType:()Lcom/microsoft/sqlserver/jdbc/SSType;
            if_acmpeq 24
            getstatic com.microsoft.sqlserver.jdbc.SSType.IMAGE:Lcom/microsoft/sqlserver/jdbc/SSType;
            aload 1 /* typeInfo */
            invokevirtual com.microsoft.sqlserver.jdbc.TypeInfo.getSSType:()Lcom/microsoft/sqlserver/jdbc/SSType;
            if_acmpeq 24
        23: .line 3401
            getstatic com.microsoft.sqlserver.jdbc.SSType.NTEXT:Lcom/microsoft/sqlserver/jdbc/SSType;
            aload 1 /* typeInfo */
            invokevirtual com.microsoft.sqlserver.jdbc.TypeInfo.getSSType:()Lcom/microsoft/sqlserver/jdbc/SSType;
            if_acmpne 33
        24: .line 3402
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* tdsReader */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSReader.readUnsignedByte:()I
            ifne 25
            iconst_1
            goto 26
      StackMap locals:
      StackMap stack: com.microsoft.sqlserver.jdbc.ServerDTVImpl
        25: iconst_0
      StackMap locals: com.microsoft.sqlserver.jdbc.ServerDTVImpl com.microsoft.sqlserver.jdbc.TypeInfo com.microsoft.sqlserver.jdbc.TDSReader
      StackMap stack: com.microsoft.sqlserver.jdbc.ServerDTVImpl int
        26: putfield com.microsoft.sqlserver.jdbc.ServerDTVImpl.isNull:Z
        27: .line 3403
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.ServerDTVImpl.isNull:Z
            ifeq 30
        28: .line 3404
            aload 0 /* this */
            iconst_0
            putfield com.microsoft.sqlserver.jdbc.ServerDTVImpl.valueLength:I
        29: .line 3405
            goto 39
        30: .line 3407
      StackMap locals:
      StackMap stack:
            aload 2 /* tdsReader */
            bipush 24
            invokevirtual com.microsoft.sqlserver.jdbc.TDSReader.skip:(I)V
        31: .line 3408
            aload 0 /* this */
            aload 2 /* tdsReader */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSReader.readInt:()I
            putfield com.microsoft.sqlserver.jdbc.ServerDTVImpl.valueLength:I
        32: .line 3410
            goto 39
        33: .line 3412
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SSType.SQL_VARIANT:Lcom/microsoft/sqlserver/jdbc/SSType;
            aload 1 /* typeInfo */
            invokevirtual com.microsoft.sqlserver.jdbc.TypeInfo.getSSType:()Lcom/microsoft/sqlserver/jdbc/SSType;
            if_acmpne 39
        34: .line 3413
            aload 0 /* this */
            aload 2 /* tdsReader */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSReader.readInt:()I
            putfield com.microsoft.sqlserver.jdbc.ServerDTVImpl.valueLength:I
        35: .line 3414
            aload 0 /* this */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.ServerDTVImpl.valueLength:I
            ifne 36
            iconst_1
            goto 37
      StackMap locals:
      StackMap stack: com.microsoft.sqlserver.jdbc.ServerDTVImpl
        36: iconst_0
      StackMap locals: com.microsoft.sqlserver.jdbc.ServerDTVImpl com.microsoft.sqlserver.jdbc.TypeInfo com.microsoft.sqlserver.jdbc.TDSReader
      StackMap stack: com.microsoft.sqlserver.jdbc.ServerDTVImpl int
        37: putfield com.microsoft.sqlserver.jdbc.ServerDTVImpl.isNull:Z
        38: .line 3415
            aload 1 /* typeInfo */
            getstatic com.microsoft.sqlserver.jdbc.SSType.SQL_VARIANT:Lcom/microsoft/sqlserver/jdbc/SSType;
            invokevirtual com.microsoft.sqlserver.jdbc.TypeInfo.setSSType:(Lcom/microsoft/sqlserver/jdbc/SSType;)V
        39: .line 3420
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.ServerDTVImpl.valueLength:I
            aload 1 /* typeInfo */
            invokevirtual com.microsoft.sqlserver.jdbc.TypeInfo.getMaxLength:()I
            if_icmple 41
        40: .line 3421
            aload 2 /* tdsReader */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSReader.throwInvalidTDS:()V
        41: .line 3423
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* tdsReader */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSReader.mark:()Lcom/microsoft/sqlserver/jdbc/TDSReaderMark;
            putfield com.microsoft.sqlserver.jdbc.ServerDTVImpl.valueMark:Lcom/microsoft/sqlserver/jdbc/TDSReaderMark;
        42: .line 3424
            return
        end local 2 // com.microsoft.sqlserver.jdbc.TDSReader tdsReader
        end local 1 // com.microsoft.sqlserver.jdbc.TypeInfo typeInfo
        end local 0 // com.microsoft.sqlserver.jdbc.ServerDTVImpl this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   43     0       this  Lcom/microsoft/sqlserver/jdbc/ServerDTVImpl;
            0   43     1   typeInfo  Lcom/microsoft/sqlserver/jdbc/TypeInfo;
            0   43     2  tdsReader  Lcom/microsoft/sqlserver/jdbc/TDSReader;
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
           Name  Flags
      typeInfo   
      tdsReader  

  java.lang.Object denormalizedValue(byte[], com.microsoft.sqlserver.jdbc.JDBCType, com.microsoft.sqlserver.jdbc.TypeInfo, com.microsoft.sqlserver.jdbc.SQLServerConnection, com.microsoft.sqlserver.jdbc.InputStreamGetterArgs, byte, java.util.Calendar);
    descriptor: ([BLcom/microsoft/sqlserver/jdbc/JDBCType;Lcom/microsoft/sqlserver/jdbc/TypeInfo;Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;Lcom/microsoft/sqlserver/jdbc/InputStreamGetterArgs;BLjava/util/Calendar;)Ljava/lang/Object;
    flags: (0x0000) 
    Code:
      stack=8, locals=17, args_size=8
        start local 0 // com.microsoft.sqlserver.jdbc.ServerDTVImpl this
        start local 1 // byte[] decryptedValue
        start local 2 // com.microsoft.sqlserver.jdbc.JDBCType jdbcType
        start local 3 // com.microsoft.sqlserver.jdbc.TypeInfo baseTypeInfo
        start local 4 // com.microsoft.sqlserver.jdbc.SQLServerConnection con
        start local 5 // com.microsoft.sqlserver.jdbc.InputStreamGetterArgs streamGetterArgs
        start local 6 // byte normalizeRuleVersion
        start local 7 // java.util.Calendar cal
         0: .line 3428
            iconst_1
            iload 6 /* normalizeRuleVersion */
            if_icmpeq 5
         1: .line 3429
            new java.text.MessageFormat
            dup
         2: .line 3430
            ldc "R_UnsupportedNormalizationVersionAE"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
         3: .line 3429
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 8 /* form */
        start local 8 // java.text.MessageFormat form
         4: .line 3431
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
            aload 8 /* form */
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            iload 6 /* normalizeRuleVersion */
            invokestatic java.lang.Byte.valueOf:(B)Ljava/lang/Byte;
            aastore
            dup
            iconst_1
            iconst_1
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            aconst_null
            iconst_0
            aconst_null
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerException.<init>:(Ljava/lang/String;Ljava/lang/String;ILjava/lang/Throwable;)V
            athrow
        end local 8 // java.text.MessageFormat form
         5: .line 3434
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.ServerDTVImpl.aeLogger:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 9
         6: .line 3435
            getstatic com.microsoft.sqlserver.jdbc.ServerDTVImpl.aeLogger:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            ldc "Denormalizing decrypted data based on its SQL Server type("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* baseTypeInfo */
            invokevirtual com.microsoft.sqlserver.jdbc.TypeInfo.getSSType:()Lcom/microsoft/sqlserver/jdbc/SSType;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
         7: .line 3436
            ldc ") and JDBC type("
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* jdbcType */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc ")."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         8: .line 3435
            invokevirtual java.util.logging.Logger.fine:(Ljava/lang/String;)V
         9: .line 3439
      StackMap locals:
      StackMap stack:
            aload 3 /* baseTypeInfo */
            invokevirtual com.microsoft.sqlserver.jdbc.TypeInfo.getSSType:()Lcom/microsoft/sqlserver/jdbc/SSType;
            astore 8 /* baseSSType */
        start local 8 // com.microsoft.sqlserver.jdbc.SSType baseSSType
        10: .line 3440
            invokestatic com.microsoft.sqlserver.jdbc.ServerDTVImpl.$SWITCH_TABLE$com$microsoft$sqlserver$jdbc$SSType:()[I
            aload 8 /* baseSSType */
            invokevirtual com.microsoft.sqlserver.jdbc.SSType.ordinal:()I
            iaload
            tableswitch { // 2 - 31
                    2: 34
                    3: 34
                    4: 34
                    5: 34
                    6: 34
                    7: 40
                    8: 40
                    9: 99
                   10: 106
                   11: 73
                   12: 78
                   13: 84
                   14: 113
                   15: 54
                   16: 59
                   17: 11
                   18: 11
                   19: 11
                   20: 130
                   21: 11
                   22: 11
                   23: 11
                   24: 130
                   25: 72
                   26: 72
                   27: 72
                   28: 130
                   29: 67
                   30: 67
                   31: 129
              default: 130
          }
        11: .line 3448
      StackMap locals: com.microsoft.sqlserver.jdbc.SSType
      StackMap stack:
            new java.lang.String
            dup
            aload 1 /* decryptedValue */
            iconst_0
            aload 1 /* decryptedValue */
            arraylength
        12: .line 3449
            aload 3 /* baseTypeInfo */
            invokevirtual com.microsoft.sqlserver.jdbc.TypeInfo.getCharset:()Ljava/nio/charset/Charset;
            ifnonnull 13
            aload 4 /* con */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.getDatabaseCollation:()Lcom/microsoft/sqlserver/jdbc/SQLCollation;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLCollation.getCharset:()Ljava/nio/charset/Charset;
            goto 14
        13: .line 3450
      StackMap locals: com.microsoft.sqlserver.jdbc.ServerDTVImpl byte[] com.microsoft.sqlserver.jdbc.JDBCType com.microsoft.sqlserver.jdbc.TypeInfo com.microsoft.sqlserver.jdbc.SQLServerConnection com.microsoft.sqlserver.jdbc.InputStreamGetterArgs int java.util.Calendar com.microsoft.sqlserver.jdbc.SSType
      StackMap stack: new 11 new 11 byte[] int int
            aload 3 /* baseTypeInfo */
            invokevirtual com.microsoft.sqlserver.jdbc.TypeInfo.getCharset:()Ljava/nio/charset/Charset;
        14: .line 3448
      StackMap locals: com.microsoft.sqlserver.jdbc.ServerDTVImpl byte[] com.microsoft.sqlserver.jdbc.JDBCType com.microsoft.sqlserver.jdbc.TypeInfo com.microsoft.sqlserver.jdbc.SQLServerConnection com.microsoft.sqlserver.jdbc.InputStreamGetterArgs int java.util.Calendar com.microsoft.sqlserver.jdbc.SSType
      StackMap stack: new 11 new 11 byte[] int int java.nio.charset.Charset
            invokespecial java.lang.String.<init>:([BIILjava/nio/charset/Charset;)V
            astore 9 /* strVal */
        start local 9 // java.lang.String strVal
        15: .line 3451
            getstatic com.microsoft.sqlserver.jdbc.SSType.CHAR:Lcom/microsoft/sqlserver/jdbc/SSType;
            aload 8 /* baseSSType */
            if_acmpeq 16
            getstatic com.microsoft.sqlserver.jdbc.SSType.NCHAR:Lcom/microsoft/sqlserver/jdbc/SSType;
            aload 8 /* baseSSType */
            if_acmpne 24
        16: .line 3453
      StackMap locals: java.lang.String
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 9 /* strVal */
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            astore 10 /* sb */
        start local 10 // java.lang.StringBuilder sb
        17: .line 3454
            aload 3 /* baseTypeInfo */
            invokevirtual com.microsoft.sqlserver.jdbc.TypeInfo.getPrecision:()I
            aload 9 /* strVal */
            invokevirtual java.lang.String.length:()I
            isub
            istore 11 /* padLength */
        start local 11 // int padLength
        18: .line 3455
            iconst_0
            istore 12 /* i */
        start local 12 // int i
        19: goto 22
        20: .line 3456
      StackMap locals: java.lang.StringBuilder int int
      StackMap stack:
            aload 10 /* sb */
            bipush 32
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        21: .line 3455
            iinc 12 /* i */ 1
      StackMap locals:
      StackMap stack:
        22: iload 12 /* i */
            iload 11 /* padLength */
            if_icmplt 20
        end local 12 // int i
        23: .line 3458
            aload 10 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 9 /* strVal */
        end local 11 // int padLength
        end local 10 // java.lang.StringBuilder sb
        24: .line 3460
      StackMap locals:
      StackMap stack:
            aload 9 /* strVal */
            aload 3 /* baseTypeInfo */
            invokevirtual com.microsoft.sqlserver.jdbc.TypeInfo.getCharset:()Ljava/nio/charset/Charset;
            aload 2 /* jdbcType */
        25: .line 3461
            aload 5 /* streamGetterArgs */
            getfield com.microsoft.sqlserver.jdbc.InputStreamGetterArgs.streamType:Lcom/microsoft/sqlserver/jdbc/StreamType;
        26: .line 3460
            invokestatic com.microsoft.sqlserver.jdbc.DDC.convertStringToObject:(Ljava/lang/String;Ljava/nio/charset/Charset;Lcom/microsoft/sqlserver/jdbc/JDBCType;Lcom/microsoft/sqlserver/jdbc/StreamType;)Ljava/lang/Object;
        27: areturn
        end local 9 // java.lang.String strVal
        28: .line 3462
      StackMap locals: com.microsoft.sqlserver.jdbc.ServerDTVImpl byte[] com.microsoft.sqlserver.jdbc.JDBCType com.microsoft.sqlserver.jdbc.TypeInfo com.microsoft.sqlserver.jdbc.SQLServerConnection com.microsoft.sqlserver.jdbc.InputStreamGetterArgs int java.util.Calendar com.microsoft.sqlserver.jdbc.SSType
      StackMap stack: java.lang.IllegalArgumentException
            astore 9 /* e */
        start local 9 // java.lang.IllegalArgumentException e
        29: .line 3463
            new java.text.MessageFormat
            dup
            ldc "R_errorConvertingValue"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 10 /* form */
        start local 10 // java.text.MessageFormat form
        30: .line 3464
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
            aload 10 /* form */
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 8 /* baseSSType */
            aastore
            dup
            iconst_1
            aload 2 /* jdbcType */
            aastore
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            aconst_null
            iconst_0
            aload 9 /* e */
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerException.<init>:(Ljava/lang/String;Ljava/lang/String;ILjava/lang/Throwable;)V
            athrow
        end local 10 // java.text.MessageFormat form
        end local 9 // java.lang.IllegalArgumentException e
        31: .line 3465
      StackMap locals:
      StackMap stack: java.io.UnsupportedEncodingException
            astore 9 /* e */
        start local 9 // java.io.UnsupportedEncodingException e
        32: .line 3467
            new java.text.MessageFormat
            dup
            ldc "R_unsupportedEncoding"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 10 /* form */
        start local 10 // java.text.MessageFormat form
        33: .line 3468
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
            aload 10 /* form */
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 3 /* baseTypeInfo */
            invokevirtual com.microsoft.sqlserver.jdbc.TypeInfo.getCharset:()Ljava/nio/charset/Charset;
            aastore
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            aconst_null
            iconst_0
            aload 9 /* e */
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerException.<init>:(Ljava/lang/String;Ljava/lang/String;ILjava/lang/Throwable;)V
            athrow
        end local 10 // java.text.MessageFormat form
        end local 9 // java.io.UnsupportedEncodingException e
        34: .line 3478
      StackMap locals:
      StackMap stack:
            bipush 8
            aload 1 /* decryptedValue */
            arraylength
            if_icmpeq 37
        35: .line 3480
            new java.text.MessageFormat
            dup
            ldc "R_NormalizationErrorAE"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 9 /* form */
        start local 9 // java.text.MessageFormat form
        36: .line 3481
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
            aload 9 /* form */
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 8 /* baseSSType */
            aastore
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            aconst_null
            iconst_0
            aconst_null
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerException.<init>:(Ljava/lang/String;Ljava/lang/String;ILjava/lang/Throwable;)V
            athrow
        end local 9 // java.text.MessageFormat form
        37: .line 3483
      StackMap locals:
      StackMap stack:
            aload 1 /* decryptedValue */
            iconst_0
            invokestatic com.microsoft.sqlserver.jdbc.Util.readLong:([BI)J
            aload 2 /* jdbcType */
            aload 8 /* baseSSType */
        38: .line 3484
            aload 5 /* streamGetterArgs */
            getfield com.microsoft.sqlserver.jdbc.InputStreamGetterArgs.streamType:Lcom/microsoft/sqlserver/jdbc/StreamType;
        39: .line 3483
            invokestatic com.microsoft.sqlserver.jdbc.DDC.convertLongToObject:(JLcom/microsoft/sqlserver/jdbc/JDBCType;Lcom/microsoft/sqlserver/jdbc/SSType;Lcom/microsoft/sqlserver/jdbc/StreamType;)Ljava/lang/Object;
            areturn
        40: .line 3491
      StackMap locals:
      StackMap stack:
            bipush 8
            aload 1 /* decryptedValue */
            arraylength
            if_icmpne 46
        41: .line 3493
            aload 1 /* decryptedValue */
            invokestatic java.nio.ByteBuffer.wrap:([B)Ljava/nio/ByteBuffer;
            getstatic java.nio.ByteOrder.LITTLE_ENDIAN:Ljava/nio/ByteOrder;
            invokevirtual java.nio.ByteBuffer.order:(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.getDouble:()D
        42: .line 3494
            getstatic com.microsoft.sqlserver.jdbc.JDBCType.VARBINARY:Lcom/microsoft/sqlserver/jdbc/JDBCType;
            aload 2 /* jdbcType */
            if_acmpne 43
            aload 8 /* baseSSType */
            invokevirtual com.microsoft.sqlserver.jdbc.SSType.getJDBCType:()Lcom/microsoft/sqlserver/jdbc/JDBCType;
            goto 44
      StackMap locals:
      StackMap stack: double
        43: aload 2 /* jdbcType */
        44: .line 3498
      StackMap locals: com.microsoft.sqlserver.jdbc.ServerDTVImpl byte[] com.microsoft.sqlserver.jdbc.JDBCType com.microsoft.sqlserver.jdbc.TypeInfo com.microsoft.sqlserver.jdbc.SQLServerConnection com.microsoft.sqlserver.jdbc.InputStreamGetterArgs int java.util.Calendar com.microsoft.sqlserver.jdbc.SSType
      StackMap stack: double com.microsoft.sqlserver.jdbc.JDBCType
            aload 5 /* streamGetterArgs */
            getfield com.microsoft.sqlserver.jdbc.InputStreamGetterArgs.streamType:Lcom/microsoft/sqlserver/jdbc/StreamType;
        45: .line 3492
            invokestatic com.microsoft.sqlserver.jdbc.DDC.convertDoubleToObject:(DLcom/microsoft/sqlserver/jdbc/JDBCType;Lcom/microsoft/sqlserver/jdbc/StreamType;)Ljava/lang/Object;
            areturn
        46: .line 3499
      StackMap locals:
      StackMap stack:
            iconst_4
            aload 1 /* decryptedValue */
            arraylength
            if_icmpne 52
        47: .line 3501
            aload 1 /* decryptedValue */
            invokestatic java.nio.ByteBuffer.wrap:([B)Ljava/nio/ByteBuffer;
            getstatic java.nio.ByteOrder.LITTLE_ENDIAN:Ljava/nio/ByteOrder;
            invokevirtual java.nio.ByteBuffer.order:(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.getFloat:()F
        48: .line 3502
            getstatic com.microsoft.sqlserver.jdbc.JDBCType.VARBINARY:Lcom/microsoft/sqlserver/jdbc/JDBCType;
            aload 2 /* jdbcType */
            if_acmpne 49
            aload 8 /* baseSSType */
            invokevirtual com.microsoft.sqlserver.jdbc.SSType.getJDBCType:()Lcom/microsoft/sqlserver/jdbc/JDBCType;
            goto 50
      StackMap locals:
      StackMap stack: float
        49: aload 2 /* jdbcType */
        50: .line 3506
      StackMap locals: com.microsoft.sqlserver.jdbc.ServerDTVImpl byte[] com.microsoft.sqlserver.jdbc.JDBCType com.microsoft.sqlserver.jdbc.TypeInfo com.microsoft.sqlserver.jdbc.SQLServerConnection com.microsoft.sqlserver.jdbc.InputStreamGetterArgs int java.util.Calendar com.microsoft.sqlserver.jdbc.SSType
      StackMap stack: float com.microsoft.sqlserver.jdbc.JDBCType
            aload 5 /* streamGetterArgs */
            getfield com.microsoft.sqlserver.jdbc.InputStreamGetterArgs.streamType:Lcom/microsoft/sqlserver/jdbc/StreamType;
        51: .line 3500
            invokestatic com.microsoft.sqlserver.jdbc.DDC.convertFloatToObject:(FLcom/microsoft/sqlserver/jdbc/JDBCType;Lcom/microsoft/sqlserver/jdbc/StreamType;)Ljava/lang/Object;
            areturn
        52: .line 3508
      StackMap locals:
      StackMap stack:
            new java.text.MessageFormat
            dup
            ldc "R_NormalizationErrorAE"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 9 /* form */
        start local 9 // java.text.MessageFormat form
        53: .line 3509
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
            aload 9 /* form */
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 8 /* baseSSType */
            aastore
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            aconst_null
            iconst_0
            aconst_null
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerException.<init>:(Ljava/lang/String;Ljava/lang/String;ILjava/lang/Throwable;)V
            athrow
        end local 9 // java.text.MessageFormat form
        54: .line 3513
      StackMap locals:
      StackMap stack:
            new java.math.BigDecimal
            dup
            aload 1 /* decryptedValue */
            iconst_4
            invokestatic com.microsoft.sqlserver.jdbc.Util.readInt:([BI)I
            i2l
            invokestatic java.math.BigInteger.valueOf:(J)Ljava/math/BigInteger;
            iconst_4
            invokespecial java.math.BigDecimal.<init>:(Ljava/math/BigInteger;I)V
        55: .line 3514
            getstatic com.microsoft.sqlserver.jdbc.JDBCType.VARBINARY:Lcom/microsoft/sqlserver/jdbc/JDBCType;
            aload 2 /* jdbcType */
            if_acmpne 56
            aload 8 /* baseSSType */
            invokevirtual com.microsoft.sqlserver.jdbc.SSType.getJDBCType:()Lcom/microsoft/sqlserver/jdbc/JDBCType;
            goto 57
      StackMap locals:
      StackMap stack: java.math.BigDecimal
        56: aload 2 /* jdbcType */
        57: .line 3517
      StackMap locals: com.microsoft.sqlserver.jdbc.ServerDTVImpl byte[] com.microsoft.sqlserver.jdbc.JDBCType com.microsoft.sqlserver.jdbc.TypeInfo com.microsoft.sqlserver.jdbc.SQLServerConnection com.microsoft.sqlserver.jdbc.InputStreamGetterArgs int java.util.Calendar com.microsoft.sqlserver.jdbc.SSType
      StackMap stack: java.math.BigDecimal com.microsoft.sqlserver.jdbc.JDBCType
            aload 5 /* streamGetterArgs */
            getfield com.microsoft.sqlserver.jdbc.InputStreamGetterArgs.streamType:Lcom/microsoft/sqlserver/jdbc/StreamType;
            iconst_4
        58: .line 3513
            invokestatic com.microsoft.sqlserver.jdbc.DDC.convertMoneyToObject:(Ljava/math/BigDecimal;Lcom/microsoft/sqlserver/jdbc/JDBCType;Lcom/microsoft/sqlserver/jdbc/StreamType;I)Ljava/lang/Object;
            areturn
        59: .line 3521
      StackMap locals:
      StackMap stack:
            aload 1 /* decryptedValue */
            iconst_0
            invokestatic com.microsoft.sqlserver.jdbc.Util.readInt:([BI)I
            i2l
            bipush 32
            lshl
        60: .line 3522
            aload 1 /* decryptedValue */
            iconst_4
            invokestatic com.microsoft.sqlserver.jdbc.Util.readInt:([BI)I
            i2l
            ldc 4294967295
            land
        61: .line 3521
            lor
            invokestatic java.math.BigInteger.valueOf:(J)Ljava/math/BigInteger;
            astore 9 /* bi */
        start local 9 // java.math.BigInteger bi
        62: .line 3524
            new java.math.BigDecimal
            dup
            aload 9 /* bi */
            iconst_4
            invokespecial java.math.BigDecimal.<init>:(Ljava/math/BigInteger;I)V
        63: .line 3525
            getstatic com.microsoft.sqlserver.jdbc.JDBCType.VARBINARY:Lcom/microsoft/sqlserver/jdbc/JDBCType;
            aload 2 /* jdbcType */
            if_acmpne 64
            aload 8 /* baseSSType */
            invokevirtual com.microsoft.sqlserver.jdbc.SSType.getJDBCType:()Lcom/microsoft/sqlserver/jdbc/JDBCType;
            goto 65
      StackMap locals: com.microsoft.sqlserver.jdbc.ServerDTVImpl byte[] com.microsoft.sqlserver.jdbc.JDBCType com.microsoft.sqlserver.jdbc.TypeInfo com.microsoft.sqlserver.jdbc.SQLServerConnection com.microsoft.sqlserver.jdbc.InputStreamGetterArgs int java.util.Calendar com.microsoft.sqlserver.jdbc.SSType java.math.BigInteger
      StackMap stack: java.math.BigDecimal
        64: aload 2 /* jdbcType */
        65: .line 3533
      StackMap locals: com.microsoft.sqlserver.jdbc.ServerDTVImpl byte[] com.microsoft.sqlserver.jdbc.JDBCType com.microsoft.sqlserver.jdbc.TypeInfo com.microsoft.sqlserver.jdbc.SQLServerConnection com.microsoft.sqlserver.jdbc.InputStreamGetterArgs int java.util.Calendar com.microsoft.sqlserver.jdbc.SSType java.math.BigInteger
      StackMap stack: java.math.BigDecimal com.microsoft.sqlserver.jdbc.JDBCType
            aload 5 /* streamGetterArgs */
            getfield com.microsoft.sqlserver.jdbc.InputStreamGetterArgs.streamType:Lcom/microsoft/sqlserver/jdbc/StreamType;
            bipush 8
        66: .line 3524
            invokestatic com.microsoft.sqlserver.jdbc.DDC.convertMoneyToObject:(Ljava/math/BigDecimal;Lcom/microsoft/sqlserver/jdbc/JDBCType;Lcom/microsoft/sqlserver/jdbc/StreamType;I)Ljava/lang/Object;
            areturn
        end local 9 // java.math.BigInteger bi
        67: .line 3539
      StackMap locals:
      StackMap stack:
            aload 1 /* decryptedValue */
            aload 1 /* decryptedValue */
            arraylength
            aload 3 /* baseTypeInfo */
            invokevirtual com.microsoft.sqlserver.jdbc.TypeInfo.getScale:()I
            invokestatic com.microsoft.sqlserver.jdbc.Util.readBigDecimal:([BII)Ljava/math/BigDecimal;
        68: .line 3540
            getstatic com.microsoft.sqlserver.jdbc.JDBCType.VARBINARY:Lcom/microsoft/sqlserver/jdbc/JDBCType;
            aload 2 /* jdbcType */
            if_acmpne 69
            aload 8 /* baseSSType */
            invokevirtual com.microsoft.sqlserver.jdbc.SSType.getJDBCType:()Lcom/microsoft/sqlserver/jdbc/JDBCType;
            goto 70
      StackMap locals:
      StackMap stack: java.math.BigDecimal
        69: aload 2 /* jdbcType */
        70: .line 3543
      StackMap locals: com.microsoft.sqlserver.jdbc.ServerDTVImpl byte[] com.microsoft.sqlserver.jdbc.JDBCType com.microsoft.sqlserver.jdbc.TypeInfo com.microsoft.sqlserver.jdbc.SQLServerConnection com.microsoft.sqlserver.jdbc.InputStreamGetterArgs int java.util.Calendar com.microsoft.sqlserver.jdbc.SSType
      StackMap stack: java.math.BigDecimal com.microsoft.sqlserver.jdbc.JDBCType
            aload 5 /* streamGetterArgs */
            getfield com.microsoft.sqlserver.jdbc.InputStreamGetterArgs.streamType:Lcom/microsoft/sqlserver/jdbc/StreamType;
        71: .line 3538
            invokestatic com.microsoft.sqlserver.jdbc.DDC.convertBigDecimalToObject:(Ljava/math/BigDecimal;Lcom/microsoft/sqlserver/jdbc/JDBCType;Lcom/microsoft/sqlserver/jdbc/StreamType;)Ljava/lang/Object;
            areturn
        72: .line 3549
      StackMap locals:
      StackMap stack:
            aload 1 /* decryptedValue */
            aload 2 /* jdbcType */
            aload 3 /* baseTypeInfo */
            invokestatic com.microsoft.sqlserver.jdbc.DDC.convertBytesToObject:([BLcom/microsoft/sqlserver/jdbc/JDBCType;Lcom/microsoft/sqlserver/jdbc/TypeInfo;)Ljava/lang/Object;
            areturn
        73: .line 3554
      StackMap locals:
      StackMap stack:
            iconst_3
            aload 1 /* decryptedValue */
            arraylength
            if_icmpeq 76
        74: .line 3555
            new java.text.MessageFormat
            dup
            ldc "R_NormalizationErrorAE"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 9 /* form */
        start local 9 // java.text.MessageFormat form
        75: .line 3556
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
            aload 9 /* form */
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 8 /* baseSSType */
            aastore
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            aconst_null
            iconst_0
            aconst_null
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerException.<init>:(Ljava/lang/String;Ljava/lang/String;ILjava/lang/Throwable;)V
            athrow
        end local 9 // java.text.MessageFormat form
        76: .line 3562
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* decryptedValue */
            aload 8 /* baseSSType */
            invokevirtual com.microsoft.sqlserver.jdbc.ServerDTVImpl.getDaysIntoCE:([BLcom/microsoft/sqlserver/jdbc/SSType;)I
            istore 9 /* daysIntoCE */
        start local 9 // int daysIntoCE
        77: .line 3564
            aload 2 /* jdbcType */
            aload 8 /* baseSSType */
            aload 7 /* cal */
            iload 9 /* daysIntoCE */
            lconst_0
            iconst_0
            invokestatic com.microsoft.sqlserver.jdbc.DDC.convertTemporalToObject:(Lcom/microsoft/sqlserver/jdbc/JDBCType;Lcom/microsoft/sqlserver/jdbc/SSType;Ljava/util/Calendar;IJI)Ljava/lang/Object;
            areturn
        end local 9 // int daysIntoCE
        78: .line 3569
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* decryptedValue */
            aload 3 /* baseTypeInfo */
            invokevirtual com.microsoft.sqlserver.jdbc.TypeInfo.getScale:()I
        79: .line 3570
            aload 8 /* baseSSType */
        80: .line 3569
            invokevirtual com.microsoft.sqlserver.jdbc.ServerDTVImpl.readNanosSinceMidnightAE:([BILcom/microsoft/sqlserver/jdbc/SSType;)J
            lstore 9 /* localNanosSinceMidnight */
        start local 9 // long localNanosSinceMidnight
        81: .line 3572
            aload 2 /* jdbcType */
            getstatic com.microsoft.sqlserver.jdbc.SSType.TIME:Lcom/microsoft/sqlserver/jdbc/SSType;
            aload 7 /* cal */
            iconst_0
            lload 9 /* localNanosSinceMidnight */
        82: .line 3573
            aload 3 /* baseTypeInfo */
            invokevirtual com.microsoft.sqlserver.jdbc.TypeInfo.getScale:()I
        83: .line 3572
            invokestatic com.microsoft.sqlserver.jdbc.DDC.convertTemporalToObject:(Lcom/microsoft/sqlserver/jdbc/JDBCType;Lcom/microsoft/sqlserver/jdbc/SSType;Ljava/util/Calendar;IJI)Ljava/lang/Object;
            areturn
        end local 9 // long localNanosSinceMidnight
        84: .line 3577
      StackMap locals:
      StackMap stack:
            bipush 8
            aload 1 /* decryptedValue */
            arraylength
            if_icmpeq 87
        85: .line 3578
            new java.text.MessageFormat
            dup
            ldc "R_NormalizationErrorAE"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 9 /* form */
        start local 9 // java.text.MessageFormat form
        86: .line 3579
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
            aload 9 /* form */
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 8 /* baseSSType */
            aastore
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            aconst_null
            iconst_0
            aconst_null
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerException.<init>:(Ljava/lang/String;Ljava/lang/String;ILjava/lang/Throwable;)V
            athrow
        end local 9 // java.text.MessageFormat form
        87: .line 3583
      StackMap locals:
      StackMap stack:
            aload 1 /* decryptedValue */
            arraylength
            iconst_3
            isub
            istore 9 /* dateOffset */
        start local 9 // int dateOffset
        88: .line 3584
            iload 9 /* dateOffset */
            newarray 8
            astore 10 /* timePortion */
        start local 10 // byte[] timePortion
        89: .line 3585
            iconst_3
            newarray 8
            astore 11 /* datePortion */
        start local 11 // byte[] datePortion
        90: .line 3586
            aload 1 /* decryptedValue */
            iconst_0
            aload 10 /* timePortion */
            iconst_0
            iload 9 /* dateOffset */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        91: .line 3587
            aload 1 /* decryptedValue */
            iload 9 /* dateOffset */
            aload 11 /* datePortion */
            iconst_0
            iconst_3
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        92: .line 3588
            aload 0 /* this */
            aload 10 /* timePortion */
            aload 3 /* baseTypeInfo */
            invokevirtual com.microsoft.sqlserver.jdbc.TypeInfo.getScale:()I
        93: .line 3589
            aload 8 /* baseSSType */
        94: .line 3588
            invokevirtual com.microsoft.sqlserver.jdbc.ServerDTVImpl.readNanosSinceMidnightAE:([BILcom/microsoft/sqlserver/jdbc/SSType;)J
            lstore 12 /* localNanosSinceMidnight */
        start local 12 // long localNanosSinceMidnight
        95: .line 3591
            aload 0 /* this */
            aload 11 /* datePortion */
            aload 8 /* baseSSType */
            invokevirtual com.microsoft.sqlserver.jdbc.ServerDTVImpl.getDaysIntoCE:([BLcom/microsoft/sqlserver/jdbc/SSType;)I
            istore 14 /* daysIntoCE */
        start local 14 // int daysIntoCE
        96: .line 3594
            aload 2 /* jdbcType */
            getstatic com.microsoft.sqlserver.jdbc.SSType.DATETIME2:Lcom/microsoft/sqlserver/jdbc/SSType;
            aload 7 /* cal */
            iload 14 /* daysIntoCE */
            lload 12 /* localNanosSinceMidnight */
        97: .line 3595
            aload 3 /* baseTypeInfo */
            invokevirtual com.microsoft.sqlserver.jdbc.TypeInfo.getScale:()I
        98: .line 3594
            invokestatic com.microsoft.sqlserver.jdbc.DDC.convertTemporalToObject:(Lcom/microsoft/sqlserver/jdbc/JDBCType;Lcom/microsoft/sqlserver/jdbc/SSType;Ljava/util/Calendar;IJI)Ljava/lang/Object;
            areturn
        end local 14 // int daysIntoCE
        end local 12 // long localNanosSinceMidnight
        end local 11 // byte[] datePortion
        end local 10 // byte[] timePortion
        end local 9 // int dateOffset
        99: .line 3600
      StackMap locals:
      StackMap stack:
            iconst_4
            aload 1 /* decryptedValue */
            arraylength
            if_icmpeq 102
       100: .line 3601
            new java.text.MessageFormat
            dup
            ldc "R_NormalizationErrorAE"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 9 /* form */
        start local 9 // java.text.MessageFormat form
       101: .line 3602
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
            aload 9 /* form */
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 8 /* baseSSType */
            aastore
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            aconst_null
            iconst_0
            aconst_null
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerException.<init>:(Ljava/lang/String;Ljava/lang/String;ILjava/lang/Throwable;)V
            athrow
        end local 9 // java.text.MessageFormat form
       102: .line 3608
      StackMap locals:
      StackMap stack:
            aload 2 /* jdbcType */
            getstatic com.microsoft.sqlserver.jdbc.SSType.DATETIME:Lcom/microsoft/sqlserver/jdbc/SSType;
            aload 7 /* cal */
       103: .line 3609
            aload 1 /* decryptedValue */
            iconst_0
            invokestatic com.microsoft.sqlserver.jdbc.Util.readUnsignedShort:([BI)I
       104: .line 3610
            aload 1 /* decryptedValue */
            iconst_2
            invokestatic com.microsoft.sqlserver.jdbc.Util.readUnsignedShort:([BI)I
            i2l
            ldc 60
            lmul
            ldc 1000
            lmul
            iconst_0
       105: .line 3608
            invokestatic com.microsoft.sqlserver.jdbc.DDC.convertTemporalToObject:(Lcom/microsoft/sqlserver/jdbc/JDBCType;Lcom/microsoft/sqlserver/jdbc/SSType;Ljava/util/Calendar;IJI)Ljava/lang/Object;
            areturn
       106: .line 3614
      StackMap locals:
      StackMap stack:
            aload 1 /* decryptedValue */
            iconst_4
            invokestatic com.microsoft.sqlserver.jdbc.Util.readInt:([BI)I
            bipush 10
            imul
            iconst_1
            iadd
            iconst_3
            idiv
            istore 9 /* ticksSinceMidnight */
        start local 9 // int ticksSinceMidnight
       107: .line 3616
            bipush 8
            aload 1 /* decryptedValue */
            arraylength
            if_icmpne 108
            ldc 2147483647
            iload 9 /* ticksSinceMidnight */
            if_icmpge 110
       108: .line 3617
      StackMap locals: int
      StackMap stack:
            new java.text.MessageFormat
            dup
            ldc "R_NormalizationErrorAE"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 10 /* form */
        start local 10 // java.text.MessageFormat form
       109: .line 3618
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
            aload 10 /* form */
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 8 /* baseSSType */
            aastore
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            aconst_null
            iconst_0
            aconst_null
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerException.<init>:(Ljava/lang/String;Ljava/lang/String;ILjava/lang/Throwable;)V
            athrow
        end local 10 // java.text.MessageFormat form
       110: .line 3624
      StackMap locals:
      StackMap stack:
            aload 2 /* jdbcType */
            getstatic com.microsoft.sqlserver.jdbc.SSType.DATETIME:Lcom/microsoft/sqlserver/jdbc/SSType;
            aload 7 /* cal */
            aload 1 /* decryptedValue */
            iconst_0
            invokestatic com.microsoft.sqlserver.jdbc.Util.readInt:([BI)I
       111: .line 3625
            iload 9 /* ticksSinceMidnight */
            i2l
            iconst_0
       112: .line 3624
            invokestatic com.microsoft.sqlserver.jdbc.DDC.convertTemporalToObject:(Lcom/microsoft/sqlserver/jdbc/JDBCType;Lcom/microsoft/sqlserver/jdbc/SSType;Ljava/util/Calendar;IJI)Ljava/lang/Object;
            areturn
        end local 9 // int ticksSinceMidnight
       113: .line 3630
      StackMap locals:
      StackMap stack:
            aload 1 /* decryptedValue */
            arraylength
            iconst_5
            isub
            istore 9 /* dateOffset */
        start local 9 // int dateOffset
       114: .line 3631
            iload 9 /* dateOffset */
            newarray 8
            astore 10 /* timePortion */
        start local 10 // byte[] timePortion
       115: .line 3632
            iconst_3
            newarray 8
            astore 11 /* datePortion */
        start local 11 // byte[] datePortion
       116: .line 3633
            iconst_2
            newarray 8
            astore 12 /* offsetPortion */
        start local 12 // byte[] offsetPortion
       117: .line 3634
            aload 1 /* decryptedValue */
            iconst_0
            aload 10 /* timePortion */
            iconst_0
            iload 9 /* dateOffset */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
       118: .line 3635
            aload 1 /* decryptedValue */
            iload 9 /* dateOffset */
            aload 11 /* datePortion */
            iconst_0
            iconst_3
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
       119: .line 3636
            aload 1 /* decryptedValue */
            iload 9 /* dateOffset */
            iconst_3
            iadd
            aload 12 /* offsetPortion */
            iconst_0
            iconst_2
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
       120: .line 3637
            aload 0 /* this */
            aload 10 /* timePortion */
            aload 3 /* baseTypeInfo */
            invokevirtual com.microsoft.sqlserver.jdbc.TypeInfo.getScale:()I
       121: .line 3638
            aload 8 /* baseSSType */
       122: .line 3637
            invokevirtual com.microsoft.sqlserver.jdbc.ServerDTVImpl.readNanosSinceMidnightAE:([BILcom/microsoft/sqlserver/jdbc/SSType;)J
            lstore 13 /* localNanosSinceMidnight */
        start local 13 // long localNanosSinceMidnight
       123: .line 3640
            aload 0 /* this */
            aload 11 /* datePortion */
            aload 8 /* baseSSType */
            invokevirtual com.microsoft.sqlserver.jdbc.ServerDTVImpl.getDaysIntoCE:([BLcom/microsoft/sqlserver/jdbc/SSType;)I
            istore 15 /* daysIntoCE */
        start local 15 // int daysIntoCE
       124: .line 3642
            aload 12 /* offsetPortion */
            invokestatic java.nio.ByteBuffer.wrap:([B)Ljava/nio/ByteBuffer;
            getstatic java.nio.ByteOrder.LITTLE_ENDIAN:Ljava/nio/ByteOrder;
            invokevirtual java.nio.ByteBuffer.order:(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.getShort:()S
            istore 16 /* localMinutesOffset */
        start local 16 // int localMinutesOffset
       125: .line 3644
            aload 2 /* jdbcType */
            getstatic com.microsoft.sqlserver.jdbc.SSType.DATETIMEOFFSET:Lcom/microsoft/sqlserver/jdbc/SSType;
       126: .line 3645
            new java.util.GregorianCalendar
            dup
            new java.util.SimpleTimeZone
            dup
            iload 16 /* localMinutesOffset */
            bipush 60
            imul
            sipush 1000
            imul
            ldc ""
            invokespecial java.util.SimpleTimeZone.<init>:(ILjava/lang/String;)V
            getstatic java.util.Locale.US:Ljava/util/Locale;
            invokespecial java.util.GregorianCalendar.<init>:(Ljava/util/TimeZone;Ljava/util/Locale;)V
       127: .line 3646
            iload 15 /* daysIntoCE */
            lload 13 /* localNanosSinceMidnight */
            aload 3 /* baseTypeInfo */
            invokevirtual com.microsoft.sqlserver.jdbc.TypeInfo.getScale:()I
       128: .line 3644
            invokestatic com.microsoft.sqlserver.jdbc.DDC.convertTemporalToObject:(Lcom/microsoft/sqlserver/jdbc/JDBCType;Lcom/microsoft/sqlserver/jdbc/SSType;Ljava/util/Calendar;IJI)Ljava/lang/Object;
            areturn
        end local 16 // int localMinutesOffset
        end local 15 // int daysIntoCE
        end local 13 // long localNanosSinceMidnight
        end local 12 // byte[] offsetPortion
        end local 11 // byte[] datePortion
        end local 10 // byte[] timePortion
        end local 9 // int dateOffset
       129: .line 3651
      StackMap locals:
      StackMap stack:
            aload 1 /* decryptedValue */
            invokestatic com.microsoft.sqlserver.jdbc.Util.readGUID:([B)Ljava/lang/String;
            areturn
       130: .line 3655
      StackMap locals:
      StackMap stack:
            new java.text.MessageFormat
            dup
            ldc "R_UnsupportedDataTypeAE"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 9 /* form */
        start local 9 // java.text.MessageFormat form
       131: .line 3656
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
            aload 9 /* form */
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 8 /* baseSSType */
            aastore
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            aconst_null
            iconst_0
            aconst_null
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerException.<init>:(Ljava/lang/String;Ljava/lang/String;ILjava/lang/Throwable;)V
            athrow
        end local 9 // java.text.MessageFormat form
        end local 8 // com.microsoft.sqlserver.jdbc.SSType baseSSType
        end local 7 // java.util.Calendar cal
        end local 6 // byte normalizeRuleVersion
        end local 5 // com.microsoft.sqlserver.jdbc.InputStreamGetterArgs streamGetterArgs
        end local 4 // com.microsoft.sqlserver.jdbc.SQLServerConnection con
        end local 3 // com.microsoft.sqlserver.jdbc.TypeInfo baseTypeInfo
        end local 2 // com.microsoft.sqlserver.jdbc.JDBCType jdbcType
        end local 1 // byte[] decryptedValue
        end local 0 // com.microsoft.sqlserver.jdbc.ServerDTVImpl this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0  132     0                     this  Lcom/microsoft/sqlserver/jdbc/ServerDTVImpl;
            0  132     1           decryptedValue  [B
            0  132     2                 jdbcType  Lcom/microsoft/sqlserver/jdbc/JDBCType;
            0  132     3             baseTypeInfo  Lcom/microsoft/sqlserver/jdbc/TypeInfo;
            0  132     4                      con  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            0  132     5         streamGetterArgs  Lcom/microsoft/sqlserver/jdbc/InputStreamGetterArgs;
            0  132     6     normalizeRuleVersion  B
            0  132     7                      cal  Ljava/util/Calendar;
            4    5     8                     form  Ljava/text/MessageFormat;
           10  132     8               baseSSType  Lcom/microsoft/sqlserver/jdbc/SSType;
           15   28     9                   strVal  Ljava/lang/String;
           17   24    10                       sb  Ljava/lang/StringBuilder;
           18   24    11                padLength  I
           19   23    12                        i  I
           29   31     9                        e  Ljava/lang/IllegalArgumentException;
           30   31    10                     form  Ljava/text/MessageFormat;
           32   34     9                        e  Ljava/io/UnsupportedEncodingException;
           33   34    10                     form  Ljava/text/MessageFormat;
           36   37     9                     form  Ljava/text/MessageFormat;
           53   54     9                     form  Ljava/text/MessageFormat;
           62   67     9                       bi  Ljava/math/BigInteger;
           75   76     9                     form  Ljava/text/MessageFormat;
           77   78     9               daysIntoCE  I
           81   84     9  localNanosSinceMidnight  J
           86   87     9                     form  Ljava/text/MessageFormat;
           88   99     9               dateOffset  I
           89   99    10              timePortion  [B
           90   99    11              datePortion  [B
           95   99    12  localNanosSinceMidnight  J
           96   99    14               daysIntoCE  I
          101  102     9                     form  Ljava/text/MessageFormat;
          107  113     9       ticksSinceMidnight  I
          109  110    10                     form  Ljava/text/MessageFormat;
          114  129     9               dateOffset  I
          115  129    10              timePortion  [B
          116  129    11              datePortion  [B
          117  129    12            offsetPortion  [B
          123  129    13  localNanosSinceMidnight  J
          124  129    15               daysIntoCE  I
          125  129    16       localMinutesOffset  I
          131  132     9                     form  Ljava/text/MessageFormat;
      Exception table:
        from    to  target  type
          11    27      28  Class java.lang.IllegalArgumentException
          11    27      31  Class java.io.UnsupportedEncodingException
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
                      Name  Flags
      decryptedValue        
      jdbcType              
      baseTypeInfo          
      con                   
      streamGetterArgs      
      normalizeRuleVersion  
      cal                   

  java.lang.Object getValue(com.microsoft.sqlserver.jdbc.DTV, com.microsoft.sqlserver.jdbc.JDBCType, int, com.microsoft.sqlserver.jdbc.InputStreamGetterArgs, java.util.Calendar, com.microsoft.sqlserver.jdbc.TypeInfo, com.microsoft.sqlserver.jdbc.CryptoMetadata, com.microsoft.sqlserver.jdbc.TDSReader);
    descriptor: (Lcom/microsoft/sqlserver/jdbc/DTV;Lcom/microsoft/sqlserver/jdbc/JDBCType;ILcom/microsoft/sqlserver/jdbc/InputStreamGetterArgs;Ljava/util/Calendar;Lcom/microsoft/sqlserver/jdbc/TypeInfo;Lcom/microsoft/sqlserver/jdbc/CryptoMetadata;Lcom/microsoft/sqlserver/jdbc/TDSReader;)Ljava/lang/Object;
    flags: (0x0000) 
    Code:
      stack=10, locals=16, args_size=9
        start local 0 // com.microsoft.sqlserver.jdbc.ServerDTVImpl this
        start local 1 // com.microsoft.sqlserver.jdbc.DTV dtv
        start local 2 // com.microsoft.sqlserver.jdbc.JDBCType jdbcType
        start local 3 // int scale
        start local 4 // com.microsoft.sqlserver.jdbc.InputStreamGetterArgs streamGetterArgs
        start local 5 // java.util.Calendar cal
        start local 6 // com.microsoft.sqlserver.jdbc.TypeInfo typeInfo
        start local 7 // com.microsoft.sqlserver.jdbc.CryptoMetadata cryptoMetadata
        start local 8 // com.microsoft.sqlserver.jdbc.TDSReader tdsReader
         0: .line 3662
            aload 8 /* tdsReader */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSReader.getConnection:()Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            astore 9 /* con */
        start local 9 // com.microsoft.sqlserver.jdbc.SQLServerConnection con
         1: .line 3663
            aconst_null
            astore 10 /* convertedValue */
        start local 10 // java.lang.Object convertedValue
         2: .line 3665
            iconst_0
            istore 12 /* encrypted */
        start local 12 // boolean encrypted
         3: .line 3666
            aload 6 /* typeInfo */
            invokevirtual com.microsoft.sqlserver.jdbc.TypeInfo.getSSType:()Lcom/microsoft/sqlserver/jdbc/SSType;
            astore 13 /* baseSSType */
        start local 13 // com.microsoft.sqlserver.jdbc.SSType baseSSType
         4: .line 3669
            aload 7 /* cryptoMetadata */
            ifnull 12
         5: .line 3670
            getstatic com.microsoft.sqlserver.jdbc.ServerDTVImpl.$assertionsDisabled:Z
            ifne 6
            getstatic com.microsoft.sqlserver.jdbc.SSType.VARBINARY:Lcom/microsoft/sqlserver/jdbc/SSType;
            aload 6 /* typeInfo */
            invokevirtual com.microsoft.sqlserver.jdbc.TypeInfo.getSSType:()Lcom/microsoft/sqlserver/jdbc/SSType;
            if_acmpeq 6
            getstatic com.microsoft.sqlserver.jdbc.SSType.VARBINARYMAX:Lcom/microsoft/sqlserver/jdbc/SSType;
            aload 6 /* typeInfo */
            invokevirtual com.microsoft.sqlserver.jdbc.TypeInfo.getSSType:()Lcom/microsoft/sqlserver/jdbc/SSType;
            if_acmpeq 6
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         6: .line 3671
      StackMap locals: com.microsoft.sqlserver.jdbc.ServerDTVImpl com.microsoft.sqlserver.jdbc.DTV com.microsoft.sqlserver.jdbc.JDBCType int com.microsoft.sqlserver.jdbc.InputStreamGetterArgs java.util.Calendar com.microsoft.sqlserver.jdbc.TypeInfo com.microsoft.sqlserver.jdbc.CryptoMetadata com.microsoft.sqlserver.jdbc.TDSReader com.microsoft.sqlserver.jdbc.SQLServerConnection java.lang.Object top int com.microsoft.sqlserver.jdbc.SSType
      StackMap stack:
            aload 7 /* cryptoMetadata */
            getfield com.microsoft.sqlserver.jdbc.CryptoMetadata.baseTypeInfo:Lcom/microsoft/sqlserver/jdbc/TypeInfo;
            invokevirtual com.microsoft.sqlserver.jdbc.TypeInfo.getSSType:()Lcom/microsoft/sqlserver/jdbc/SSType;
            astore 13 /* baseSSType */
         7: .line 3672
            iconst_1
            istore 12 /* encrypted */
         8: .line 3674
            getstatic com.microsoft.sqlserver.jdbc.ServerDTVImpl.aeLogger:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 12
         9: .line 3675
            getstatic com.microsoft.sqlserver.jdbc.ServerDTVImpl.aeLogger:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            ldc "Data is encrypted, SQL Server Data Type: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 13 /* baseSSType */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc ", Encryption Type: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        10: .line 3676
            aload 7 /* cryptoMetadata */
            invokevirtual com.microsoft.sqlserver.jdbc.CryptoMetadata.getEncryptionType:()Lcom/microsoft/sqlserver/jdbc/SQLServerEncryptionType;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        11: .line 3675
            invokevirtual java.util.logging.Logger.fine:(Ljava/lang/String;)V
        12: .line 3685
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.ServerDTVImpl.valueMark:Lcom/microsoft/sqlserver/jdbc/TDSReaderMark;
            ifnonnull 14
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.ServerDTVImpl.isNull:Z
            ifne 14
        13: .line 3686
            aload 0 /* this */
            aload 6 /* typeInfo */
            aload 8 /* tdsReader */
            invokevirtual com.microsoft.sqlserver.jdbc.ServerDTVImpl.getValuePrep:(Lcom/microsoft/sqlserver/jdbc/TypeInfo;Lcom/microsoft/sqlserver/jdbc/TDSReader;)V
        14: .line 3690
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.ServerDTVImpl.$assertionsDisabled:Z
            ifne 16
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.ServerDTVImpl.valueMark:Lcom/microsoft/sqlserver/jdbc/TDSReaderMark;
            ifnonnull 16
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.ServerDTVImpl.valueMark:Lcom/microsoft/sqlserver/jdbc/TDSReaderMark;
            ifnonnull 15
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.ServerDTVImpl.isNull:Z
            ifne 16
      StackMap locals:
      StackMap stack:
        15: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        16: .line 3692
      StackMap locals:
      StackMap stack:
            aload 4 /* streamGetterArgs */
            ifnull 20
        17: .line 3693
            aload 4 /* streamGetterArgs */
            getfield com.microsoft.sqlserver.jdbc.InputStreamGetterArgs.streamType:Lcom/microsoft/sqlserver/jdbc/StreamType;
            aload 6 /* typeInfo */
            invokevirtual com.microsoft.sqlserver.jdbc.StreamType.convertsFrom:(Lcom/microsoft/sqlserver/jdbc/TypeInfo;)Z
            ifne 27
        18: .line 3694
            aload 6 /* typeInfo */
            invokevirtual com.microsoft.sqlserver.jdbc.TypeInfo.getSSType:()Lcom/microsoft/sqlserver/jdbc/SSType;
            invokevirtual com.microsoft.sqlserver.jdbc.SSType.toString:()Ljava/lang/String;
            aload 4 /* streamGetterArgs */
            getfield com.microsoft.sqlserver.jdbc.InputStreamGetterArgs.streamType:Lcom/microsoft/sqlserver/jdbc/StreamType;
            invokevirtual com.microsoft.sqlserver.jdbc.StreamType.toString:()Ljava/lang/String;
            invokestatic com.microsoft.sqlserver.jdbc.DataTypes.throwConversionError:(Ljava/lang/String;Ljava/lang/String;)V
        19: .line 3695
            goto 27
        20: .line 3696
      StackMap locals:
      StackMap stack:
            aload 13 /* baseSSType */
            aload 2 /* jdbcType */
            invokevirtual com.microsoft.sqlserver.jdbc.SSType.convertsTo:(Lcom/microsoft/sqlserver/jdbc/JDBCType;)Z
            ifne 26
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.ServerDTVImpl.isNull:Z
            ifne 26
        21: .line 3699
            iload 12 /* encrypted */
            ifeq 25
        22: .line 3700
            aload 2 /* jdbcType */
            invokevirtual com.microsoft.sqlserver.jdbc.JDBCType.getIntValue:()I
            invokestatic com.microsoft.sqlserver.jdbc.Util.isBinaryType:(I)Ljava/lang/Boolean;
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifne 26
        23: .line 3701
            aload 13 /* baseSSType */
            invokevirtual com.microsoft.sqlserver.jdbc.SSType.toString:()Ljava/lang/String;
            aload 2 /* jdbcType */
            invokevirtual com.microsoft.sqlserver.jdbc.JDBCType.toString:()Ljava/lang/String;
            invokestatic com.microsoft.sqlserver.jdbc.DataTypes.throwConversionError:(Ljava/lang/String;Ljava/lang/String;)V
        24: .line 3703
            goto 26
        25: .line 3704
      StackMap locals:
      StackMap stack:
            aload 13 /* baseSSType */
            invokevirtual com.microsoft.sqlserver.jdbc.SSType.toString:()Ljava/lang/String;
            aload 2 /* jdbcType */
            invokevirtual com.microsoft.sqlserver.jdbc.JDBCType.toString:()Ljava/lang/String;
            invokestatic com.microsoft.sqlserver.jdbc.DataTypes.throwConversionError:(Ljava/lang/String;Ljava/lang/String;)V
        26: .line 3708
      StackMap locals:
      StackMap stack:
            invokestatic com.microsoft.sqlserver.jdbc.InputStreamGetterArgs.getDefaultArgs:()Lcom/microsoft/sqlserver/jdbc/InputStreamGetterArgs;
            astore 4 /* streamGetterArgs */
        27: .line 3711
      StackMap locals:
      StackMap stack:
            bipush -2
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.ServerDTVImpl.valueLength:I
            if_icmpne 31
        28: .line 3712
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
            aconst_null
            ldc "R_dataAlreadyAccessed"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            aconst_null
            iconst_0
        29: .line 3713
            iconst_0
        30: .line 3712
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerException.<init>:(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;IZ)V
            athrow
        31: .line 3716
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.ServerDTVImpl.isNull:Z
            ifne 115
        32: .line 3717
            aload 8 /* tdsReader */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.ServerDTVImpl.valueMark:Lcom/microsoft/sqlserver/jdbc/TDSReaderMark;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSReader.reset:(Lcom/microsoft/sqlserver/jdbc/TDSReaderMark;)V
        33: .line 3719
            iload 12 /* encrypted */
            ifeq 49
        34: .line 3720
            iconst_m1
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.ServerDTVImpl.valueLength:I
            if_icmpne 39
        35: .line 3722
            aload 8 /* tdsReader */
            aload 4 /* streamGetterArgs */
            aload 0 /* this */
            invokestatic com.microsoft.sqlserver.jdbc.PLPInputStream.makeStream:(Lcom/microsoft/sqlserver/jdbc/TDSReader;Lcom/microsoft/sqlserver/jdbc/InputStreamGetterArgs;Lcom/microsoft/sqlserver/jdbc/ServerDTVImpl;)Lcom/microsoft/sqlserver/jdbc/PLPInputStream;
            aload 6 /* typeInfo */
            getstatic com.microsoft.sqlserver.jdbc.JDBCType.VARBINARY:Lcom/microsoft/sqlserver/jdbc/JDBCType;
        36: .line 3723
            aload 4 /* streamGetterArgs */
        37: .line 3721
            invokestatic com.microsoft.sqlserver.jdbc.DDC.convertStreamToObject:(Lcom/microsoft/sqlserver/jdbc/BaseInputStream;Lcom/microsoft/sqlserver/jdbc/TypeInfo;Lcom/microsoft/sqlserver/jdbc/JDBCType;Lcom/microsoft/sqlserver/jdbc/InputStreamGetterArgs;)Ljava/lang/Object;
            astore 10 /* convertedValue */
        38: .line 3724
            goto 42
        39: .line 3726
      StackMap locals:
      StackMap stack:
            new com.microsoft.sqlserver.jdbc.SimpleInputStream
            dup
            aload 8 /* tdsReader */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.ServerDTVImpl.valueLength:I
            aload 4 /* streamGetterArgs */
            aload 0 /* this */
            invokespecial com.microsoft.sqlserver.jdbc.SimpleInputStream.<init>:(Lcom/microsoft/sqlserver/jdbc/TDSReader;ILcom/microsoft/sqlserver/jdbc/InputStreamGetterArgs;Lcom/microsoft/sqlserver/jdbc/ServerDTVImpl;)V
            aload 6 /* typeInfo */
        40: .line 3727
            getstatic com.microsoft.sqlserver.jdbc.JDBCType.VARBINARY:Lcom/microsoft/sqlserver/jdbc/JDBCType;
            aload 4 /* streamGetterArgs */
        41: .line 3725
            invokestatic com.microsoft.sqlserver.jdbc.DDC.convertStreamToObject:(Lcom/microsoft/sqlserver/jdbc/BaseInputStream;Lcom/microsoft/sqlserver/jdbc/TypeInfo;Lcom/microsoft/sqlserver/jdbc/JDBCType;Lcom/microsoft/sqlserver/jdbc/InputStreamGetterArgs;)Ljava/lang/Object;
            astore 10 /* convertedValue */
        42: .line 3730
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.ServerDTVImpl.aeLogger:Ljava/util/logging/Logger;
            ldc "Encrypted data is retrieved."
            invokevirtual java.util.logging.Logger.fine:(Ljava/lang/String;)V
        43: .line 3733
            aload 10 /* convertedValue */
            instanceof com.microsoft.sqlserver.jdbc.SimpleInputStream
            ifne 44
            aload 10 /* convertedValue */
            instanceof com.microsoft.sqlserver.jdbc.PLPInputStream
            ifeq 45
        44: .line 3734
      StackMap locals:
      StackMap stack:
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
            ldc "R_notSupported"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            aconst_null
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        45: .line 3737
      StackMap locals:
      StackMap stack:
            aload 10 /* convertedValue */
            checkcast byte[]
            aload 7 /* cryptoMetadata */
            aload 9 /* con */
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerSecurityUtility.decryptWithKey:([BLcom/microsoft/sqlserver/jdbc/CryptoMetadata;Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;)[B
            astore 11 /* decryptedValue */
        start local 11 // byte[] decryptedValue
        46: .line 3738
            aload 0 /* this */
            aload 11 /* decryptedValue */
            aload 2 /* jdbcType */
            aload 7 /* cryptoMetadata */
            getfield com.microsoft.sqlserver.jdbc.CryptoMetadata.baseTypeInfo:Lcom/microsoft/sqlserver/jdbc/TypeInfo;
            aload 9 /* con */
            aload 4 /* streamGetterArgs */
        47: .line 3739
            aload 7 /* cryptoMetadata */
            getfield com.microsoft.sqlserver.jdbc.CryptoMetadata.normalizationRuleVersion:B
            aload 5 /* cal */
        48: .line 3738
            invokevirtual com.microsoft.sqlserver.jdbc.ServerDTVImpl.denormalizedValue:([BLcom/microsoft/sqlserver/jdbc/JDBCType;Lcom/microsoft/sqlserver/jdbc/TypeInfo;Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;Lcom/microsoft/sqlserver/jdbc/InputStreamGetterArgs;BLjava/util/Calendar;)Ljava/lang/Object;
            areturn
        end local 11 // byte[] decryptedValue
        49: .line 3742
      StackMap locals:
      StackMap stack:
            invokestatic com.microsoft.sqlserver.jdbc.ServerDTVImpl.$SWITCH_TABLE$com$microsoft$sqlserver$jdbc$SSType:()[I
            aload 13 /* baseSSType */
            invokevirtual com.microsoft.sqlserver.jdbc.SSType.ordinal:()I
            iaload
            tableswitch { // 2 - 35
                    2: 66
                    3: 66
                    4: 66
                    5: 66
                    6: 66
                    7: 90
                    8: 92
                    9: 94
                   10: 94
                   11: 96
                   12: 98
                   13: 100
                   14: 102
                   15: 88
                   16: 88
                   17: 62
                   18: 62
                   19: 50
                   20: 62
                   21: 62
                   22: 62
                   23: 50
                   24: 62
                   25: 62
                   26: 62
                   27: 50
                   28: 62
                   29: 84
                   30: 84
                   31: 104
                   32: 106
                   33: 50
                   34: 54
                   35: 62
              default: 114
          }
        50: .line 3749
      StackMap locals:
      StackMap stack:
            aload 8 /* tdsReader */
            aload 4 /* streamGetterArgs */
            aload 0 /* this */
            invokestatic com.microsoft.sqlserver.jdbc.PLPInputStream.makeStream:(Lcom/microsoft/sqlserver/jdbc/TDSReader;Lcom/microsoft/sqlserver/jdbc/InputStreamGetterArgs;Lcom/microsoft/sqlserver/jdbc/ServerDTVImpl;)Lcom/microsoft/sqlserver/jdbc/PLPInputStream;
            aload 6 /* typeInfo */
            aload 2 /* jdbcType */
        51: .line 3750
            aload 4 /* streamGetterArgs */
        52: .line 3748
            invokestatic com.microsoft.sqlserver.jdbc.DDC.convertStreamToObject:(Lcom/microsoft/sqlserver/jdbc/BaseInputStream;Lcom/microsoft/sqlserver/jdbc/TypeInfo;Lcom/microsoft/sqlserver/jdbc/JDBCType;Lcom/microsoft/sqlserver/jdbc/InputStreamGetterArgs;)Ljava/lang/Object;
            astore 10 /* convertedValue */
        53: .line 3751
            goto 115
        54: .line 3756
      StackMap locals:
      StackMap stack:
            aload 2 /* jdbcType */
            invokevirtual com.microsoft.sqlserver.jdbc.JDBCType.isBinary:()Z
            ifne 55
            aload 2 /* jdbcType */
            getstatic com.microsoft.sqlserver.jdbc.JDBCType.SQLXML:Lcom/microsoft/sqlserver/jdbc/JDBCType;
            if_acmpne 56
        55: .line 3757
      StackMap locals:
      StackMap stack:
            aload 8 /* tdsReader */
            aload 4 /* streamGetterArgs */
            aload 0 /* this */
            invokestatic com.microsoft.sqlserver.jdbc.PLPXMLInputStream.makeXMLStream:(Lcom/microsoft/sqlserver/jdbc/TDSReader;Lcom/microsoft/sqlserver/jdbc/InputStreamGetterArgs;Lcom/microsoft/sqlserver/jdbc/ServerDTVImpl;)Lcom/microsoft/sqlserver/jdbc/PLPXMLInputStream;
            goto 59
        56: .line 3758
      StackMap locals:
      StackMap stack:
            aload 8 /* tdsReader */
        57: .line 3759
            aload 4 /* streamGetterArgs */
            aload 0 /* this */
        58: .line 3758
            invokestatic com.microsoft.sqlserver.jdbc.PLPInputStream.makeStream:(Lcom/microsoft/sqlserver/jdbc/TDSReader;Lcom/microsoft/sqlserver/jdbc/InputStreamGetterArgs;Lcom/microsoft/sqlserver/jdbc/ServerDTVImpl;)Lcom/microsoft/sqlserver/jdbc/PLPInputStream;
        59: .line 3760
      StackMap locals:
      StackMap stack: com.microsoft.sqlserver.jdbc.PLPInputStream
            aload 6 /* typeInfo */
            aload 2 /* jdbcType */
            aload 4 /* streamGetterArgs */
        60: .line 3755
            invokestatic com.microsoft.sqlserver.jdbc.DDC.convertStreamToObject:(Lcom/microsoft/sqlserver/jdbc/BaseInputStream;Lcom/microsoft/sqlserver/jdbc/TypeInfo;Lcom/microsoft/sqlserver/jdbc/JDBCType;Lcom/microsoft/sqlserver/jdbc/InputStreamGetterArgs;)Ljava/lang/Object;
            astore 10 /* convertedValue */
        61: .line 3761
            goto 115
        62: .line 3778
      StackMap locals:
      StackMap stack:
            new com.microsoft.sqlserver.jdbc.SimpleInputStream
            dup
            aload 8 /* tdsReader */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.ServerDTVImpl.valueLength:I
            aload 4 /* streamGetterArgs */
            aload 0 /* this */
            invokespecial com.microsoft.sqlserver.jdbc.SimpleInputStream.<init>:(Lcom/microsoft/sqlserver/jdbc/TDSReader;ILcom/microsoft/sqlserver/jdbc/InputStreamGetterArgs;Lcom/microsoft/sqlserver/jdbc/ServerDTVImpl;)V
            aload 6 /* typeInfo */
            aload 2 /* jdbcType */
        63: .line 3779
            aload 4 /* streamGetterArgs */
        64: .line 3777
            invokestatic com.microsoft.sqlserver.jdbc.DDC.convertStreamToObject:(Lcom/microsoft/sqlserver/jdbc/BaseInputStream;Lcom/microsoft/sqlserver/jdbc/TypeInfo;Lcom/microsoft/sqlserver/jdbc/JDBCType;Lcom/microsoft/sqlserver/jdbc/InputStreamGetterArgs;)Ljava/lang/Object;
            astore 10 /* convertedValue */
        65: .line 3780
            goto 115
        66: .line 3789
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.ServerDTVImpl.valueLength:I
            tableswitch { // 1 - 8
                    1: 79
                    2: 75
                    3: 83
                    4: 71
                    5: 83
                    6: 83
                    7: 83
                    8: 67
              default: 83
          }
        67: .line 3791
      StackMap locals:
      StackMap stack:
            aload 8 /* tdsReader */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSReader.readLong:()J
            aload 2 /* jdbcType */
            aload 13 /* baseSSType */
        68: .line 3792
            aload 4 /* streamGetterArgs */
            getfield com.microsoft.sqlserver.jdbc.InputStreamGetterArgs.streamType:Lcom/microsoft/sqlserver/jdbc/StreamType;
        69: .line 3791
            invokestatic com.microsoft.sqlserver.jdbc.DDC.convertLongToObject:(JLcom/microsoft/sqlserver/jdbc/JDBCType;Lcom/microsoft/sqlserver/jdbc/SSType;Lcom/microsoft/sqlserver/jdbc/StreamType;)Ljava/lang/Object;
            astore 10 /* convertedValue */
        70: .line 3793
            goto 115
        71: .line 3796
      StackMap locals:
      StackMap stack:
            aload 8 /* tdsReader */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSReader.readInt:()I
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.ServerDTVImpl.valueLength:I
            aload 2 /* jdbcType */
        72: .line 3797
            aload 4 /* streamGetterArgs */
            getfield com.microsoft.sqlserver.jdbc.InputStreamGetterArgs.streamType:Lcom/microsoft/sqlserver/jdbc/StreamType;
        73: .line 3796
            invokestatic com.microsoft.sqlserver.jdbc.DDC.convertIntegerToObject:(IILcom/microsoft/sqlserver/jdbc/JDBCType;Lcom/microsoft/sqlserver/jdbc/StreamType;)Ljava/lang/Object;
            astore 10 /* convertedValue */
        74: .line 3798
            goto 115
        75: .line 3801
      StackMap locals:
      StackMap stack:
            aload 8 /* tdsReader */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSReader.readShort:()S
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.ServerDTVImpl.valueLength:I
            aload 2 /* jdbcType */
        76: .line 3802
            aload 4 /* streamGetterArgs */
            getfield com.microsoft.sqlserver.jdbc.InputStreamGetterArgs.streamType:Lcom/microsoft/sqlserver/jdbc/StreamType;
        77: .line 3801
            invokestatic com.microsoft.sqlserver.jdbc.DDC.convertIntegerToObject:(IILcom/microsoft/sqlserver/jdbc/JDBCType;Lcom/microsoft/sqlserver/jdbc/StreamType;)Ljava/lang/Object;
            astore 10 /* convertedValue */
        78: .line 3803
            goto 115
        79: .line 3806
      StackMap locals:
      StackMap stack:
            aload 8 /* tdsReader */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSReader.readUnsignedByte:()I
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.ServerDTVImpl.valueLength:I
        80: .line 3807
            aload 2 /* jdbcType */
            aload 4 /* streamGetterArgs */
            getfield com.microsoft.sqlserver.jdbc.InputStreamGetterArgs.streamType:Lcom/microsoft/sqlserver/jdbc/StreamType;
        81: .line 3806
            invokestatic com.microsoft.sqlserver.jdbc.DDC.convertIntegerToObject:(IILcom/microsoft/sqlserver/jdbc/JDBCType;Lcom/microsoft/sqlserver/jdbc/StreamType;)Ljava/lang/Object;
            astore 10 /* convertedValue */
        82: .line 3808
            goto 115
        83: .line 3811
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.ServerDTVImpl.$assertionsDisabled:Z
            ifne 115
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unexpected valueLength"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.ServerDTVImpl.valueLength:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        84: .line 3820
      StackMap locals:
      StackMap stack:
            aload 8 /* tdsReader */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.ServerDTVImpl.valueLength:I
            aload 6 /* typeInfo */
            aload 2 /* jdbcType */
        85: .line 3821
            aload 4 /* streamGetterArgs */
            getfield com.microsoft.sqlserver.jdbc.InputStreamGetterArgs.streamType:Lcom/microsoft/sqlserver/jdbc/StreamType;
        86: .line 3820
            invokevirtual com.microsoft.sqlserver.jdbc.TDSReader.readDecimal:(ILcom/microsoft/sqlserver/jdbc/TypeInfo;Lcom/microsoft/sqlserver/jdbc/JDBCType;Lcom/microsoft/sqlserver/jdbc/StreamType;)Ljava/lang/Object;
            astore 10 /* convertedValue */
        87: .line 3822
            goto 115
        88: .line 3827
      StackMap locals:
      StackMap stack:
            aload 8 /* tdsReader */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.ServerDTVImpl.valueLength:I
            aload 2 /* jdbcType */
            aload 4 /* streamGetterArgs */
            getfield com.microsoft.sqlserver.jdbc.InputStreamGetterArgs.streamType:Lcom/microsoft/sqlserver/jdbc/StreamType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSReader.readMoney:(ILcom/microsoft/sqlserver/jdbc/JDBCType;Lcom/microsoft/sqlserver/jdbc/StreamType;)Ljava/lang/Object;
            astore 10 /* convertedValue */
        89: .line 3828
            goto 115
        90: .line 3832
      StackMap locals:
      StackMap stack:
            aload 8 /* tdsReader */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.ServerDTVImpl.valueLength:I
            aload 2 /* jdbcType */
            aload 4 /* streamGetterArgs */
            getfield com.microsoft.sqlserver.jdbc.InputStreamGetterArgs.streamType:Lcom/microsoft/sqlserver/jdbc/StreamType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSReader.readFloat:(ILcom/microsoft/sqlserver/jdbc/JDBCType;Lcom/microsoft/sqlserver/jdbc/StreamType;)Ljava/lang/Object;
            astore 10 /* convertedValue */
        91: .line 3833
            goto 115
        92: .line 3837
      StackMap locals:
      StackMap stack:
            aload 8 /* tdsReader */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.ServerDTVImpl.valueLength:I
            aload 2 /* jdbcType */
            aload 4 /* streamGetterArgs */
            getfield com.microsoft.sqlserver.jdbc.InputStreamGetterArgs.streamType:Lcom/microsoft/sqlserver/jdbc/StreamType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSReader.readReal:(ILcom/microsoft/sqlserver/jdbc/JDBCType;Lcom/microsoft/sqlserver/jdbc/StreamType;)Ljava/lang/Object;
            astore 10 /* convertedValue */
        93: .line 3838
            goto 115
        94: .line 3843
      StackMap locals:
      StackMap stack:
            aload 8 /* tdsReader */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.ServerDTVImpl.valueLength:I
            aload 5 /* cal */
            aload 2 /* jdbcType */
            aload 4 /* streamGetterArgs */
            getfield com.microsoft.sqlserver.jdbc.InputStreamGetterArgs.streamType:Lcom/microsoft/sqlserver/jdbc/StreamType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSReader.readDateTime:(ILjava/util/Calendar;Lcom/microsoft/sqlserver/jdbc/JDBCType;Lcom/microsoft/sqlserver/jdbc/StreamType;)Ljava/lang/Object;
            astore 10 /* convertedValue */
        95: .line 3844
            goto 115
        96: .line 3848
      StackMap locals:
      StackMap stack:
            aload 8 /* tdsReader */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.ServerDTVImpl.valueLength:I
            aload 5 /* cal */
            aload 2 /* jdbcType */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSReader.readDate:(ILjava/util/Calendar;Lcom/microsoft/sqlserver/jdbc/JDBCType;)Ljava/lang/Object;
            astore 10 /* convertedValue */
        97: .line 3849
            goto 115
        98: .line 3853
      StackMap locals:
      StackMap stack:
            aload 8 /* tdsReader */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.ServerDTVImpl.valueLength:I
            aload 6 /* typeInfo */
            aload 5 /* cal */
            aload 2 /* jdbcType */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSReader.readTime:(ILcom/microsoft/sqlserver/jdbc/TypeInfo;Ljava/util/Calendar;Lcom/microsoft/sqlserver/jdbc/JDBCType;)Ljava/lang/Object;
            astore 10 /* convertedValue */
        99: .line 3854
            goto 115
       100: .line 3858
      StackMap locals:
      StackMap stack:
            aload 8 /* tdsReader */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.ServerDTVImpl.valueLength:I
            aload 6 /* typeInfo */
            aload 5 /* cal */
            aload 2 /* jdbcType */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSReader.readDateTime2:(ILcom/microsoft/sqlserver/jdbc/TypeInfo;Ljava/util/Calendar;Lcom/microsoft/sqlserver/jdbc/JDBCType;)Ljava/lang/Object;
            astore 10 /* convertedValue */
       101: .line 3859
            goto 115
       102: .line 3863
      StackMap locals:
      StackMap stack:
            aload 8 /* tdsReader */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.ServerDTVImpl.valueLength:I
            aload 6 /* typeInfo */
            aload 2 /* jdbcType */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSReader.readDateTimeOffset:(ILcom/microsoft/sqlserver/jdbc/TypeInfo;Lcom/microsoft/sqlserver/jdbc/JDBCType;)Ljava/lang/Object;
            astore 10 /* convertedValue */
       103: .line 3864
            goto 115
       104: .line 3868
      StackMap locals:
      StackMap stack:
            aload 8 /* tdsReader */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.ServerDTVImpl.valueLength:I
            aload 2 /* jdbcType */
            aload 4 /* streamGetterArgs */
            getfield com.microsoft.sqlserver.jdbc.InputStreamGetterArgs.streamType:Lcom/microsoft/sqlserver/jdbc/StreamType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSReader.readGUID:(ILcom/microsoft/sqlserver/jdbc/JDBCType;Lcom/microsoft/sqlserver/jdbc/StreamType;)Ljava/lang/Object;
            astore 10 /* convertedValue */
       105: .line 3869
            goto 115
       106: .line 3877
      StackMap locals:
      StackMap stack:
            aload 8 /* tdsReader */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSReader.readUnsignedByte:()I
            istore 14 /* baseType */
        start local 14 // int baseType
       107: .line 3879
            aload 8 /* tdsReader */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSReader.readUnsignedByte:()I
            istore 15 /* cbPropsActual */
        start local 15 // int cbPropsActual
       108: .line 3883
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.ServerDTVImpl.internalVariant:Lcom/microsoft/sqlserver/jdbc/SqlVariant;
            ifnonnull 110
       109: .line 3884
            aload 0 /* this */
            new com.microsoft.sqlserver.jdbc.SqlVariant
            dup
            iload 14 /* baseType */
            invokespecial com.microsoft.sqlserver.jdbc.SqlVariant.<init>:(I)V
            putfield com.microsoft.sqlserver.jdbc.ServerDTVImpl.internalVariant:Lcom/microsoft/sqlserver/jdbc/SqlVariant;
       110: .line 3886
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            iload 14 /* baseType */
            iload 15 /* cbPropsActual */
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.ServerDTVImpl.valueLength:I
            aload 8 /* tdsReader */
            aload 13 /* baseSSType */
       111: .line 3887
            aload 6 /* typeInfo */
            aload 2 /* jdbcType */
            aload 4 /* streamGetterArgs */
            aload 5 /* cal */
       112: .line 3886
            invokevirtual com.microsoft.sqlserver.jdbc.ServerDTVImpl.readSqlVariant:(IIILcom/microsoft/sqlserver/jdbc/TDSReader;Lcom/microsoft/sqlserver/jdbc/SSType;Lcom/microsoft/sqlserver/jdbc/TypeInfo;Lcom/microsoft/sqlserver/jdbc/JDBCType;Lcom/microsoft/sqlserver/jdbc/InputStreamGetterArgs;Ljava/util/Calendar;)Ljava/lang/Object;
            astore 10 /* convertedValue */
       113: .line 3888
            goto 115
        end local 15 // int cbPropsActual
        end local 14 // int baseType
       114: .line 3891
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.ServerDTVImpl.$assertionsDisabled:Z
            ifne 115
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unexpected SSType "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 6 /* typeInfo */
            invokevirtual com.microsoft.sqlserver.jdbc.TypeInfo.getSSType:()Lcom/microsoft/sqlserver/jdbc/SSType;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
       115: .line 3897
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.ServerDTVImpl.$assertionsDisabled:Z
            ifne 116
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.ServerDTVImpl.isNull:Z
            ifne 116
            aload 10 /* convertedValue */
            ifnonnull 116
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
       116: .line 3898
      StackMap locals:
      StackMap stack:
            aload 10 /* convertedValue */
            areturn
        end local 13 // com.microsoft.sqlserver.jdbc.SSType baseSSType
        end local 12 // boolean encrypted
        end local 10 // java.lang.Object convertedValue
        end local 9 // com.microsoft.sqlserver.jdbc.SQLServerConnection con
        end local 8 // com.microsoft.sqlserver.jdbc.TDSReader tdsReader
        end local 7 // com.microsoft.sqlserver.jdbc.CryptoMetadata cryptoMetadata
        end local 6 // com.microsoft.sqlserver.jdbc.TypeInfo typeInfo
        end local 5 // java.util.Calendar cal
        end local 4 // com.microsoft.sqlserver.jdbc.InputStreamGetterArgs streamGetterArgs
        end local 3 // int scale
        end local 2 // com.microsoft.sqlserver.jdbc.JDBCType jdbcType
        end local 1 // com.microsoft.sqlserver.jdbc.DTV dtv
        end local 0 // com.microsoft.sqlserver.jdbc.ServerDTVImpl this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0  117     0              this  Lcom/microsoft/sqlserver/jdbc/ServerDTVImpl;
            0  117     1               dtv  Lcom/microsoft/sqlserver/jdbc/DTV;
            0  117     2          jdbcType  Lcom/microsoft/sqlserver/jdbc/JDBCType;
            0  117     3             scale  I
            0  117     4  streamGetterArgs  Lcom/microsoft/sqlserver/jdbc/InputStreamGetterArgs;
            0  117     5               cal  Ljava/util/Calendar;
            0  117     6          typeInfo  Lcom/microsoft/sqlserver/jdbc/TypeInfo;
            0  117     7    cryptoMetadata  Lcom/microsoft/sqlserver/jdbc/CryptoMetadata;
            0  117     8         tdsReader  Lcom/microsoft/sqlserver/jdbc/TDSReader;
            1  117     9               con  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            2  117    10    convertedValue  Ljava/lang/Object;
           46   49    11    decryptedValue  [B
            3  117    12         encrypted  Z
            4  117    13        baseSSType  Lcom/microsoft/sqlserver/jdbc/SSType;
          107  114    14          baseType  I
          108  114    15     cbPropsActual  I
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
                  Name  Flags
      dtv               
      jdbcType          
      scale             
      streamGetterArgs  
      cal               
      typeInfo          
      cryptoMetadata    
      tdsReader         

  com.microsoft.sqlserver.jdbc.SqlVariant getInternalVariant();
    descriptor: ()Lcom/microsoft/sqlserver/jdbc/SqlVariant;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.ServerDTVImpl this
         0: .line 3902
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.ServerDTVImpl.internalVariant:Lcom/microsoft/sqlserver/jdbc/SqlVariant;
            areturn
        end local 0 // com.microsoft.sqlserver.jdbc.ServerDTVImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/microsoft/sqlserver/jdbc/ServerDTVImpl;

  private java.lang.Object readSqlVariant(int, int, int, com.microsoft.sqlserver.jdbc.TDSReader, com.microsoft.sqlserver.jdbc.SSType, com.microsoft.sqlserver.jdbc.TypeInfo, com.microsoft.sqlserver.jdbc.JDBCType, com.microsoft.sqlserver.jdbc.InputStreamGetterArgs, java.util.Calendar);
    descriptor: (IIILcom/microsoft/sqlserver/jdbc/TDSReader;Lcom/microsoft/sqlserver/jdbc/SSType;Lcom/microsoft/sqlserver/jdbc/TypeInfo;Lcom/microsoft/sqlserver/jdbc/JDBCType;Lcom/microsoft/sqlserver/jdbc/InputStreamGetterArgs;Ljava/util/Calendar;)Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=19, args_size=10
        start local 0 // com.microsoft.sqlserver.jdbc.ServerDTVImpl this
        start local 1 // int intbaseType
        start local 2 // int cbPropsActual
        start local 3 // int valueLength
        start local 4 // com.microsoft.sqlserver.jdbc.TDSReader tdsReader
        start local 5 // com.microsoft.sqlserver.jdbc.SSType baseSSType
        start local 6 // com.microsoft.sqlserver.jdbc.TypeInfo typeInfo
        start local 7 // com.microsoft.sqlserver.jdbc.JDBCType jdbcType
        start local 8 // com.microsoft.sqlserver.jdbc.InputStreamGetterArgs streamGetterArgs
        start local 9 // java.util.Calendar cal
         0: .line 3915
            aconst_null
            astore 10 /* convertedValue */
        start local 10 // java.lang.Object convertedValue
         1: .line 3916
            iconst_2
            iload 2 /* cbPropsActual */
            iadd
            istore 11 /* lengthConsumed */
        start local 11 // int lengthConsumed
         2: .line 3917
            iload 3 /* valueLength */
            iload 11 /* lengthConsumed */
            isub
            istore 12 /* expectedValueLength */
        start local 12 // int expectedValueLength
         3: .line 3918
            aconst_null
            astore 13 /* collation */
        start local 13 // com.microsoft.sqlserver.jdbc.SQLCollation collation
         4: .line 3922
            iload 1 /* intbaseType */
            invokestatic com.microsoft.sqlserver.jdbc.TDSType.valueOf:(I)Lcom/microsoft/sqlserver/jdbc/TDSType;
            astore 17 /* baseType */
        start local 17 // com.microsoft.sqlserver.jdbc.TDSType baseType
         5: .line 3923
            invokestatic com.microsoft.sqlserver.jdbc.ServerDTVImpl.$SWITCH_TABLE$com$microsoft$sqlserver$jdbc$TDSType:()[I
            aload 17 /* baseType */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSType.ordinal:()I
            iaload
            tableswitch { // 1 - 29
                    1: 56
                    2: 6
                    3: 10
                    4: 14
                    5: 18
                    6: 34
                    7: 36
                    8: 99
                    9: 94
                   10: 38
                   11: 47
                   12: 56
                   13: 150
                   14: 22
                   15: 22
                   16: 150
                   17: 150
                   18: 150
                   19: 143
                   20: 104
                   21: 107
                   22: 117
                   23: 150
                   24: 60
                   25: 60
                   26: 126
                   27: 126
                   28: 77
                   29: 77
              default: 150
          }
         6: .line 3925
      StackMap locals: com.microsoft.sqlserver.jdbc.ServerDTVImpl int int int com.microsoft.sqlserver.jdbc.TDSReader com.microsoft.sqlserver.jdbc.SSType com.microsoft.sqlserver.jdbc.TypeInfo com.microsoft.sqlserver.jdbc.JDBCType com.microsoft.sqlserver.jdbc.InputStreamGetterArgs java.util.Calendar java.lang.Object int int com.microsoft.sqlserver.jdbc.SQLCollation top top top com.microsoft.sqlserver.jdbc.TDSType
      StackMap stack:
            aload 4 /* tdsReader */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSReader.readLong:()J
            aload 7 /* jdbcType */
            aload 5 /* baseSSType */
         7: .line 3926
            aload 8 /* streamGetterArgs */
            getfield com.microsoft.sqlserver.jdbc.InputStreamGetterArgs.streamType:Lcom/microsoft/sqlserver/jdbc/StreamType;
         8: .line 3925
            invokestatic com.microsoft.sqlserver.jdbc.DDC.convertLongToObject:(JLcom/microsoft/sqlserver/jdbc/JDBCType;Lcom/microsoft/sqlserver/jdbc/SSType;Lcom/microsoft/sqlserver/jdbc/StreamType;)Ljava/lang/Object;
            astore 10 /* convertedValue */
         9: .line 3927
            goto 154
        10: .line 3930
      StackMap locals:
      StackMap stack:
            aload 4 /* tdsReader */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSReader.readInt:()I
            iload 3 /* valueLength */
            aload 7 /* jdbcType */
        11: .line 3931
            aload 8 /* streamGetterArgs */
            getfield com.microsoft.sqlserver.jdbc.InputStreamGetterArgs.streamType:Lcom/microsoft/sqlserver/jdbc/StreamType;
        12: .line 3930
            invokestatic com.microsoft.sqlserver.jdbc.DDC.convertIntegerToObject:(IILcom/microsoft/sqlserver/jdbc/JDBCType;Lcom/microsoft/sqlserver/jdbc/StreamType;)Ljava/lang/Object;
            astore 10 /* convertedValue */
        13: .line 3932
            goto 154
        14: .line 3935
      StackMap locals:
      StackMap stack:
            aload 4 /* tdsReader */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSReader.readShort:()S
            iload 3 /* valueLength */
            aload 7 /* jdbcType */
        15: .line 3936
            aload 8 /* streamGetterArgs */
            getfield com.microsoft.sqlserver.jdbc.InputStreamGetterArgs.streamType:Lcom/microsoft/sqlserver/jdbc/StreamType;
        16: .line 3935
            invokestatic com.microsoft.sqlserver.jdbc.DDC.convertIntegerToObject:(IILcom/microsoft/sqlserver/jdbc/JDBCType;Lcom/microsoft/sqlserver/jdbc/StreamType;)Ljava/lang/Object;
            astore 10 /* convertedValue */
        17: .line 3937
            goto 154
        18: .line 3940
      StackMap locals:
      StackMap stack:
            aload 4 /* tdsReader */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSReader.readUnsignedByte:()I
            iload 3 /* valueLength */
            aload 7 /* jdbcType */
        19: .line 3941
            aload 8 /* streamGetterArgs */
            getfield com.microsoft.sqlserver.jdbc.InputStreamGetterArgs.streamType:Lcom/microsoft/sqlserver/jdbc/StreamType;
        20: .line 3940
            invokestatic com.microsoft.sqlserver.jdbc.DDC.convertIntegerToObject:(IILcom/microsoft/sqlserver/jdbc/JDBCType;Lcom/microsoft/sqlserver/jdbc/StreamType;)Ljava/lang/Object;
            astore 10 /* convertedValue */
        21: .line 3942
            goto 154
        22: .line 3946
      StackMap locals:
      StackMap stack:
            iload 2 /* cbPropsActual */
            getstatic com.microsoft.sqlserver.jdbc.sqlVariantProbBytes.DECIMALN:Lcom/microsoft/sqlserver/jdbc/sqlVariantProbBytes;
            invokevirtual com.microsoft.sqlserver.jdbc.sqlVariantProbBytes.getIntValue:()I
            if_icmpeq 25
        23: .line 3948
            new java.text.MessageFormat
            dup
            ldc "R_invalidProbbytes"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 18 /* form */
        start local 18 // java.text.MessageFormat form
        24: .line 3949
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
            aload 18 /* form */
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 17 /* baseType */
            aastore
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            aconst_null
            iconst_0
            aconst_null
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerException.<init>:(Ljava/lang/String;Ljava/lang/String;ILjava/lang/Throwable;)V
            athrow
        end local 18 // java.text.MessageFormat form
        25: .line 3951
      StackMap locals:
      StackMap stack:
            aload 4 /* tdsReader */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSReader.readUnsignedByte:()I
            istore 14 /* precision */
        start local 14 // int precision
        26: .line 3952
            aload 4 /* tdsReader */
            invokevirtual com.microsoft.sqlserver.jdbc.TDSReader.readUnsignedByte:()I
            istore 15 /* scale */
        start local 15 // int scale
        27: .line 3953
            aload 6 /* typeInfo */
            iload 15 /* scale */
            invokevirtual com.microsoft.sqlserver.jdbc.TypeInfo.setScale:(I)V
        28: .line 3956
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.ServerDTVImpl.internalVariant:Lcom/microsoft/sqlserver/jdbc/SqlVariant;
            iload 14 /* precision */
            invokevirtual com.microsoft.sqlserver.jdbc.SqlVariant.setPrecision:(I)V
        29: .line 3957
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.ServerDTVImpl.internalVariant:Lcom/microsoft/sqlserver/jdbc/SqlVariant;
            iload 15 /* scale */
            invokevirtual com.microsoft.sqlserver.jdbc.SqlVariant.setScale:(I)V
        30: .line 3958
            aload 4 /* tdsReader */
            iload 12 /* expectedValueLength */
            aload 6 /* typeInfo */
            aload 7 /* jdbcType */
        31: .line 3959
            aload 8 /* streamGetterArgs */
            getfield com.microsoft.sqlserver.jdbc.InputStreamGetterArgs.streamType:Lcom/microsoft/sqlserver/jdbc/StreamType;
        32: .line 3958
            invokevirtual com.microsoft.sqlserver.jdbc.TDSReader.readDecimal:(ILcom/microsoft/sqlserver/jdbc/TypeInfo;Lcom/microsoft/sqlserver/jdbc/JDBCType;Lcom/microsoft/sqlserver/jdbc/StreamType;)Ljava/lang/Object;
            astore 10 /* convertedValue */
        33: .line 3960
            goto 154
        end local 15 // int scale
        end local 14 // int precision
        34: .line 3963
      StackMap locals:
      StackMap stack:
            aload 4 /* tdsReader */
            iload 12 /* expectedValueLength */
            aload 7 /* jdbcType */
            aload 8 /* streamGetterArgs */
            getfield com.microsoft.sqlserver.jdbc.InputStreamGetterArgs.streamType:Lcom/microsoft/sqlserver/jdbc/StreamType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSReader.readReal:(ILcom/microsoft/sqlserver/jdbc/JDBCType;Lcom/microsoft/sqlserver/jdbc/StreamType;)Ljava/lang/Object;
            astore 10 /* convertedValue */
        35: .line 3964
            goto 154
        36: .line 3967
      StackMap locals:
      StackMap stack:
            aload 4 /* tdsReader */
            iload 12 /* expectedValueLength */
            aload 7 /* jdbcType */
            aload 8 /* streamGetterArgs */
            getfield com.microsoft.sqlserver.jdbc.InputStreamGetterArgs.streamType:Lcom/microsoft/sqlserver/jdbc/StreamType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSReader.readFloat:(ILcom/microsoft/sqlserver/jdbc/JDBCType;Lcom/microsoft/sqlserver/jdbc/StreamType;)Ljava/lang/Object;
            astore 10 /* convertedValue */
        37: .line 3968
            goto 154
        38: .line 3971
      StackMap locals:
      StackMap stack:
            ldc 9223372036854775807
            invokestatic java.lang.Long.toString:(J)Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            istore 14 /* precision */
        start local 14 // int precision
        39: .line 3972
            aload 6 /* typeInfo */
            iload 14 /* precision */
            invokevirtual com.microsoft.sqlserver.jdbc.TypeInfo.setPrecision:(I)V
        40: .line 3973
            iconst_4
            istore 15 /* scale */
        start local 15 // int scale
        41: .line 3974
            aload 6 /* typeInfo */
            new java.lang.StringBuilder
            dup
            ldc "-."
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc 2147483647
            invokestatic java.lang.Integer.toString:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            invokevirtual com.microsoft.sqlserver.jdbc.TypeInfo.setDisplaySize:(I)V
        42: .line 3975
            aload 6 /* typeInfo */
            iload 15 /* scale */
            invokevirtual com.microsoft.sqlserver.jdbc.TypeInfo.setScale:(I)V
        43: .line 3976
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.ServerDTVImpl.internalVariant:Lcom/microsoft/sqlserver/jdbc/SqlVariant;
            iload 14 /* precision */
            invokevirtual com.microsoft.sqlserver.jdbc.SqlVariant.setPrecision:(I)V
        44: .line 3977
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.ServerDTVImpl.internalVariant:Lcom/microsoft/sqlserver/jdbc/SqlVariant;
            iload 15 /* scale */
            invokevirtual com.microsoft.sqlserver.jdbc.SqlVariant.setScale:(I)V
        45: .line 3978
            aload 4 /* tdsReader */
            iload 12 /* expectedValueLength */
            aload 7 /* jdbcType */
            aload 8 /* streamGetterArgs */
            getfield com.microsoft.sqlserver.jdbc.InputStreamGetterArgs.streamType:Lcom/microsoft/sqlserver/jdbc/StreamType;
            invokevirtual com.microsoft.sqlserver.jdbc.TDSReader.readMoney:(ILcom/microsoft/sqlserver/jdbc/JDBCType;Lcom/microsoft/sqlserver/jdbc/StreamType;)Ljava/lang/Object;
            astore 10 /* convertedValue */
        46: .line 3979
            goto 154
        end local 15 // int scale
        end local 14 // int precision
        47: .line 3982
      StackMap locals:
      StackMap stack:
            ldc 9223372036854775807
            invokestatic java.lang.Long.toString:(J)Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            istore 14 /* precision */
        start local 14 // int precision
        48: .line 3983
            iconst_4
            istore 15 /* scale */
        start local 15 // int scale
        49: .line 3984
            aload 6 /* typeInfo */
            iload 14 /* precision */
            invokevirtual com.microsoft.sqlserver.jdbc.TypeInfo.setPrecision:(I)V
        50: .line 3985
            aload 6 /* typeInfo */
            new java.lang.StringBuilder
            dup
            ldc "-."
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc 2147483647
            invokestatic java.lang.Integer.toString:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            invokevirtual com.microsoft.sqlserver.jdbc.TypeInfo.setDisplaySize:(I)V
        51: .line 3986
            aload 6 /* typeInfo