public class org.h2.value.ValueTimestampTimeZone extends org.h2.value.Value
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.h2.value.ValueTimestampTimeZone
  super_class: org.h2.value.Value
{
  public static final int DEFAULT_PRECISION;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 32

  public static final int MAXIMUM_PRECISION;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 35

  static final int DEFAULT_SCALE;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 6

  static final int MAXIMUM_SCALE;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 9

  private final long dateValue;
    descriptor: J
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final long timeNanos;
    descriptor: J
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final short timeZoneOffsetMins;
    descriptor: S
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private void <init>(long, long, short);
    descriptor: (JJS)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=6, args_size=4
        start local 0 // org.h2.value.ValueTimestampTimeZone this
        start local 1 // long dateValue
        start local 3 // long timeNanos
        start local 5 // short timeZoneOffsetMins
         0: .line 63
            aload 0 /* this */
            invokespecial org.h2.value.Value.<init>:()V
         1: .line 65
            lload 3 /* timeNanos */
            lconst_0
            lcmp
            iflt 2
            lload 3 /* timeNanos */
            ldc 86400000000000
            lcmp
            iflt 5
         2: .line 66
      StackMap locals: org.h2.value.ValueTimestampTimeZone long long int
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
         3: .line 67
            new java.lang.StringBuilder
            dup
            ldc "timeNanos out of range "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            lload 3 /* timeNanos */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         4: .line 66
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 74
      StackMap locals:
      StackMap stack:
            iload 5 /* timeZoneOffsetMins */
            sipush -1080
            if_icmplt 7
         6: .line 75
            iload 5 /* timeZoneOffsetMins */
            sipush 1080
            if_icmple 10
         7: .line 76
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
         8: .line 77
            new java.lang.StringBuilder
            dup
            ldc "timeZoneOffsetMins out of range "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 5 /* timeZoneOffsetMins */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         9: .line 76
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        10: .line 79
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            lload 1 /* dateValue */
            putfield org.h2.value.ValueTimestampTimeZone.dateValue:J
        11: .line 80
            aload 0 /* this */
            lload 3 /* timeNanos */
            putfield org.h2.value.ValueTimestampTimeZone.timeNanos:J
        12: .line 81
            aload 0 /* this */
            iload 5 /* timeZoneOffsetMins */
            putfield org.h2.value.ValueTimestampTimeZone.timeZoneOffsetMins:S
        13: .line 82
            return
        end local 5 // short timeZoneOffsetMins
        end local 3 // long timeNanos
        end local 1 // long dateValue
        end local 0 // org.h2.value.ValueTimestampTimeZone this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   14     0                this  Lorg/h2/value/ValueTimestampTimeZone;
            0   14     1           dateValue  J
            0   14     3           timeNanos  J
            0   14     5  timeZoneOffsetMins  S
    MethodParameters:
                    Name  Flags
      dateValue           
      timeNanos           
      timeZoneOffsetMins  

  public static org.h2.value.ValueTimestampTimeZone fromDateValueAndNanos(long, long, short);
    descriptor: (JJS)Lorg/h2/value/ValueTimestampTimeZone;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=5, args_size=3
        start local 0 // long dateValue
        start local 2 // long timeNanos
        start local 4 // short timeZoneOffsetMins
         0: .line 95
            new org.h2.value.ValueTimestampTimeZone
            dup
         1: .line 96
            lload 0 /* dateValue */
            lload 2 /* timeNanos */
            iload 4 /* timeZoneOffsetMins */
         2: .line 95
            invokespecial org.h2.value.ValueTimestampTimeZone.<init>:(JJS)V
            invokestatic org.h2.value.Value.cache:(Lorg/h2/value/Value;)Lorg/h2/value/Value;
            checkcast org.h2.value.ValueTimestampTimeZone
            areturn
        end local 4 // short timeZoneOffsetMins
        end local 2 // long timeNanos
        end local 0 // long dateValue
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    3     0           dateValue  J
            0    3     2           timeNanos  J
            0    3     4  timeZoneOffsetMins  S
    MethodParameters:
                    Name  Flags
      dateValue           
      timeNanos           
      timeZoneOffsetMins  

  public static org.h2.value.ValueTimestampTimeZone get(org.h2.api.TimestampWithTimeZone);
    descriptor: (Lorg/h2/api/TimestampWithTimeZone;)Lorg/h2/value/ValueTimestampTimeZone;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // org.h2.api.TimestampWithTimeZone timestamp
         0: .line 106
            aload 0 /* timestamp */
            invokevirtual org.h2.api.TimestampWithTimeZone.getYMD:()J
         1: .line 107
            aload 0 /* timestamp */
            invokevirtual org.h2.api.TimestampWithTimeZone.getNanosSinceMidnight:()J
         2: .line 108
            aload 0 /* timestamp */
            invokevirtual org.h2.api.TimestampWithTimeZone.getTimeZoneOffsetMins:()S
         3: .line 106
            invokestatic org.h2.value.ValueTimestampTimeZone.fromDateValueAndNanos:(JJS)Lorg/h2/value/ValueTimestampTimeZone;
            areturn
        end local 0 // org.h2.api.TimestampWithTimeZone timestamp
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    4     0  timestamp  Lorg/h2/api/TimestampWithTimeZone;
    MethodParameters:
           Name  Flags
      timestamp  

  public static org.h2.value.ValueTimestampTimeZone parse(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/h2/value/ValueTimestampTimeZone;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=2, args_size=1
        start local 0 // java.lang.String s
         0: .line 121
            aload 0 /* s */
            aconst_null
            iconst_1
            invokestatic org.h2.util.DateTimeUtils.parseTimestamp:(Ljava/lang/String;Lorg/h2/engine/Mode;Z)Lorg/h2/value/Value;
            checkcast org.h2.value.ValueTimestampTimeZone
         1: areturn
         2: .line 122
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 1 /* e */
        start local 1 // java.lang.Exception e
         3: .line 123
            sipush 22007
            aload 1 /* e */
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
         4: .line 124
            ldc "TIMESTAMP WITH TIME ZONE"
            aastore
            dup
            iconst_1
            aload 0 /* s */
            aastore
         5: .line 123
            invokestatic org.h2.message.DbException.get:(ILjava/lang/Throwable;[Ljava/lang/String;)Lorg/h2/message/DbException;
            athrow
        end local 1 // java.lang.Exception e
        end local 0 // java.lang.String s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0     s  Ljava/lang/String;
            3    6     1     e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.Exception
    MethodParameters:
      Name  Flags
      s     

  public long getDateValue();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.h2.value.ValueTimestampTimeZone this
         0: .line 135
            aload 0 /* this */
            getfield org.h2.value.ValueTimestampTimeZone.dateValue:J
            lreturn
        end local 0 // org.h2.value.ValueTimestampTimeZone this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/value/ValueTimestampTimeZone;

  public long getTimeNanos();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.h2.value.ValueTimestampTimeZone this
         0: .line 144
            aload 0 /* this */
            getfield org.h2.value.ValueTimestampTimeZone.timeNanos:J
            lreturn
        end local 0 // org.h2.value.ValueTimestampTimeZone this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/value/ValueTimestampTimeZone;

  public short getTimeZoneOffsetMins();
    descriptor: ()S
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.h2.value.ValueTimestampTimeZone this
         0: .line 153
            aload 0 /* this */
            getfield org.h2.value.ValueTimestampTimeZone.timeZoneOffsetMins:S
            ireturn
        end local 0 // org.h2.value.ValueTimestampTimeZone this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/value/ValueTimestampTimeZone;

  public java.sql.Timestamp getTimestamp();
    descriptor: ()Ljava/sql/Timestamp;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // org.h2.value.ValueTimestampTimeZone this
         0: .line 158
            aload 0 /* this */
            getfield org.h2.value.ValueTimestampTimeZone.dateValue:J
            aload 0 /* this */
            getfield org.h2.value.ValueTimestampTimeZone.timeNanos:J
            aload 0 /* this */
            getfield org.h2.value.ValueTimestampTimeZone.timeZoneOffsetMins:S
            invokestatic org.h2.util.DateTimeUtils.convertTimestampTimeZoneToTimestamp:(JJS)Ljava/sql/Timestamp;
            areturn
        end local 0 // org.h2.value.ValueTimestampTimeZone this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/value/ValueTimestampTimeZone;

  public org.h2.value.TypeInfo getType();
    descriptor: ()Lorg/h2/value/TypeInfo;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.h2.value.ValueTimestampTimeZone this
         0: .line 163
            getstatic org.h2.value.TypeInfo.TYPE_TIMESTAMP_TZ:Lorg/h2/value/TypeInfo;
            areturn
        end local 0 // org.h2.value.ValueTimestampTimeZone this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/value/ValueTimestampTimeZone;

  public int getValueType();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.h2.value.ValueTimestampTimeZone this
         0: .line 168
            bipush 24
            ireturn
        end local 0 // org.h2.value.ValueTimestampTimeZone this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/value/ValueTimestampTimeZone;

  public int getMemory();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.h2.value.ValueTimestampTimeZone this
         0: .line 174
            bipush 40
            ireturn
        end local 0 // org.h2.value.ValueTimestampTimeZone this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/value/ValueTimestampTimeZone;

  public java.lang.String getString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=2, args_size=1
        start local 0 // org.h2.value.ValueTimestampTimeZone this
         0: .line 179
            new java.lang.StringBuilder
            dup
            bipush 35
            invokespecial java.lang.StringBuilder.<init>:(I)V
            astore 1 /* builder */
        start local 1 // java.lang.StringBuilder builder
         1: .line 180
            aload 1 /* builder */
            aload 0 /* this */
            getfield org.h2.value.ValueTimestampTimeZone.dateValue:J
            aload 0 /* this */
            getfield org.h2.value.ValueTimestampTimeZone.timeNanos:J
            aload 0 /* this */
            getfield org.h2.value.ValueTimestampTimeZone.timeZoneOffsetMins:S
            invokestatic org.h2.util.DateTimeUtils.appendTimestampTimeZone:(Ljava/lang/StringBuilder;JJS)V
         2: .line 181
            aload 1 /* builder */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.StringBuilder builder
        end local 0 // org.h2.value.ValueTimestampTimeZone this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/h2/value/ValueTimestampTimeZone;
            1    3     1  builder  Ljava/lang/StringBuilder;

  public java.lang.StringBuilder getSQL(java.lang.StringBuilder);
    descriptor: (Ljava/lang/StringBuilder;)Ljava/lang/StringBuilder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // org.h2.value.ValueTimestampTimeZone this
        start local 1 // java.lang.StringBuilder builder
         0: .line 186
            aload 1 /* builder */
            ldc "TIMESTAMP WITH TIME ZONE '"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         1: .line 187
            aload 1 /* builder */
            aload 0 /* this */
            getfield org.h2.value.ValueTimestampTimeZone.dateValue:J
            aload 0 /* this */
            getfield org.h2.value.ValueTimestampTimeZone.timeNanos:J
            aload 0 /* this */
            getfield org.h2.value.ValueTimestampTimeZone.timeZoneOffsetMins:S
            invokestatic org.h2.util.DateTimeUtils.appendTimestampTimeZone:(Ljava/lang/StringBuilder;JJS)V
         2: .line 188
            aload 1 /* builder */
            bipush 39
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            areturn
        end local 1 // java.lang.StringBuilder builder
        end local 0 // org.h2.value.ValueTimestampTimeZone this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/h2/value/ValueTimestampTimeZone;
            0    3     1  builder  Ljava/lang/StringBuilder;
    MethodParameters:
         Name  Flags
      builder  

  public boolean checkPrecision(long);
    descriptor: (J)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=3, args_size=2
        start local 0 // org.h2.value.ValueTimestampTimeZone this
        start local 1 // long precision
         0: .line 194
            iconst_1
            ireturn
        end local 1 // long precision
        end local 0 // org.h2.value.ValueTimestampTimeZone this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Lorg/h2/value/ValueTimestampTimeZone;
            0    1     1  precision  J
    MethodParameters:
           Name  Flags
      precision  

  public org.h2.value.Value convertScale(boolean, int);
    descriptor: (ZI)Lorg/h2/value/Value;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=9, args_size=3
        start local 0 // org.h2.value.ValueTimestampTimeZone this
        start local 1 // boolean onlyToSmallerScale
        start local 2 // int targetScale
         0: .line 199
            iload 2 /* targetScale */
            bipush 9
            if_icmplt 2
         1: .line 200
            aload 0 /* this */
            areturn
         2: .line 202
      StackMap locals:
      StackMap stack:
            iload 2 /* targetScale */
            ifge 4
         3: .line 203
            ldc "scale"
            iload 2 /* targetScale */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokestatic org.h2.message.DbException.getInvalidValueException:(Ljava/lang/String;Ljava/lang/Object;)Lorg/h2/message/DbException;
            athrow
         4: .line 205
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.value.ValueTimestampTimeZone.timeNanos:J
            lstore 3 /* n */
        start local 3 // long n
         5: .line 206
            lload 3 /* n */
            iload 2 /* targetScale */
            invokestatic org.h2.util.DateTimeUtils.convertScale:(JI)J
            lstore 5 /* n2 */
        start local 5 // long n2
         6: .line 207
            lload 5 /* n2 */
            lload 3 /* n */
            lcmp
            ifne 8
         7: .line 208
            aload 0 /* this */
            areturn
         8: .line 210
      StackMap locals: long long
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.value.ValueTimestampTimeZone.dateValue:J
            lstore 7 /* dv */
        start local 7 // long dv
         9: .line 211
            lload 5 /* n2 */
            ldc 86400000000000
            lcmp
            iflt 12
        10: .line 212
            lload 5 /* n2 */
            ldc 86400000000000
            lsub
            lstore 5 /* n2 */
        11: .line 213
            lload 7 /* dv */
            invokestatic org.h2.util.DateTimeUtils.incrementDateValue:(J)J
            lstore 7 /* dv */
        12: .line 215
      StackMap locals: long
      StackMap stack:
            lload 7 /* dv */
            lload 5 /* n2 */
            aload 0 /* this */
            getfield org.h2.value.ValueTimestampTimeZone.timeZoneOffsetMins:S
            invokestatic org.h2.value.ValueTimestampTimeZone.fromDateValueAndNanos:(JJS)Lorg/h2/value/ValueTimestampTimeZone;
            areturn
        end local 7 // long dv
        end local 5 // long n2
        end local 3 // long n
        end local 2 // int targetScale
        end local 1 // boolean onlyToSmallerScale
        end local 0 // org.h2.value.ValueTimestampTimeZone this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   13     0                this  Lorg/h2/value/ValueTimestampTimeZone;
            0   13     1  onlyToSmallerScale  Z
            0   13     2         targetScale  I
            5   13     3                   n  J
            6   13     5                  n2  J
            9   13     7                  dv  J
    MethodParameters:
                    Name  Flags
      onlyToSmallerScale  
      targetScale         

  public int compareTypeSafe(org.h2.value.Value, org.h2.value.CompareMode);
    descriptor: (Lorg/h2/value/Value;Lorg/h2/value/CompareMode;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=13, args_size=3
        start local 0 // org.h2.value.ValueTimestampTimeZone this
        start local 1 // org.h2.value.Value o
        start local 2 // org.h2.value.CompareMode mode
         0: .line 220
            aload 1 /* o */
            checkcast org.h2.value.ValueTimestampTimeZone
            astore 3 /* t */
        start local 3 // org.h2.value.ValueTimestampTimeZone t
         1: .line 223
            aload 0 /* this */
            getfield org.h2.value.ValueTimestampTimeZone.dateValue:J
            lstore 4 /* dateValueA */
        start local 4 // long dateValueA
         2: .line 224
            aload 0 /* this */
            getfield org.h2.value.ValueTimestampTimeZone.timeNanos:J
            aload 0 /* this */
            getfield org.h2.value.ValueTimestampTimeZone.timeZoneOffsetMins:S
            i2l
            ldc 60000000000
            lmul
            lsub
            lstore 6 /* timeA */
        start local 6 // long timeA
         3: .line 225
            lload 6 /* timeA */
            lconst_0
            lcmp
            ifge 7
         4: .line 226
            lload 6 /* timeA */
            ldc 86400000000000
            ladd
            lstore 6 /* timeA */
         5: .line 227
            lload 4 /* dateValueA */
            invokestatic org.h2.util.DateTimeUtils.decrementDateValue:(J)J
            lstore 4 /* dateValueA */
         6: .line 228
            goto 10
      StackMap locals: org.h2.value.ValueTimestampTimeZone long long
      StackMap stack:
         7: lload 6 /* timeA */
            ldc 86400000000000
            lcmp
            iflt 10
         8: .line 229
            lload 6 /* timeA */
            ldc 86400000000000
            lsub
            lstore 6 /* timeA */
         9: .line 230
            lload 4 /* dateValueA */
            invokestatic org.h2.util.DateTimeUtils.incrementDateValue:(J)J
            lstore 4 /* dateValueA */
        10: .line 232
      StackMap locals:
      StackMap stack:
            aload 3 /* t */
            getfield org.h2.value.ValueTimestampTimeZone.dateValue:J
            lstore 8 /* dateValueB */
        start local 8 // long dateValueB
        11: .line 233
            aload 3 /* t */
            getfield org.h2.value.ValueTimestampTimeZone.timeNanos:J
            aload 3 /* t */
            getfield org.h2.value.ValueTimestampTimeZone.timeZoneOffsetMins:S
            i2l
            ldc 60000000000
            lmul
            lsub
            lstore 10 /* timeB */
        start local 10 // long timeB
        12: .line 234
            lload 10 /* timeB */
            lconst_0
            lcmp
            ifge 16
        13: .line 235
            lload 10 /* timeB */
            ldc 86400000000000
            ladd
            lstore 10 /* timeB */
        14: .line 236
            lload 8 /* dateValueB */
            invokestatic org.h2.util.DateTimeUtils.decrementDateValue:(J)J
            lstore 8 /* dateValueB */
        15: .line 237
            goto 19
      StackMap locals: long long
      StackMap stack:
        16: lload 10 /* timeB */
            ldc 86400000000000
            lcmp
            iflt 19
        17: .line 238
            lload 10 /* timeB */
            ldc 86400000000000
            lsub
            lstore 10 /* timeB */
        18: .line 239
            lload 8 /* dateValueB */
            invokestatic org.h2.util.DateTimeUtils.incrementDateValue:(J)J
            lstore 8 /* dateValueB */
        19: .line 241
      StackMap locals:
      StackMap stack:
            lload 4 /* dateValueA */
            lload 8 /* dateValueB */
            invokestatic java.lang.Long.compare:(JJ)I
            istore 12 /* cmp */
        start local 12 // int cmp
        20: .line 242
            iload 12 /* cmp */
            ifeq 22
        21: .line 243
            iload 12 /* cmp */
            ireturn
        22: .line 245
      StackMap locals: int
      StackMap stack:
            lload 6 /* timeA */
            lload 10 /* timeB */
            invokestatic java.lang.Long.compare:(JJ)I
            ireturn
        end local 12 // int cmp
        end local 10 // long timeB
        end local 8 // long dateValueB
        end local 6 // long timeA
        end local 4 // long dateValueA
        end local 3 // org.h2.value.ValueTimestampTimeZone t
        end local 2 // org.h2.value.CompareMode mode
        end local 1 // org.h2.value.Value o
        end local 0 // org.h2.value.ValueTimestampTimeZone this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   23     0        this  Lorg/h2/value/ValueTimestampTimeZone;
            0   23     1           o  Lorg/h2/value/Value;
            0   23     2        mode  Lorg/h2/value/CompareMode;
            1   23     3           t  Lorg/h2/value/ValueTimestampTimeZone;
            2   23     4  dateValueA  J
            3   23     6       timeA  J
           11   23     8  dateValueB  J
           12   23    10       timeB  J
           20   23    12         cmp  I
    MethodParameters:
      Name  Flags
      o     
      mode  

  public boolean equals(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.h2.value.ValueTimestampTimeZone this
        start local 1 // java.lang.Object other
         0: .line 250
            aload 0 /* this */
            aload 1 /* other */
            if_acmpne 2
         1: .line 251
            iconst_1
            ireturn
         2: .line 252
      StackMap locals:
      StackMap stack:
            aload 1 /* other */
            instanceof org.h2.value.ValueTimestampTimeZone
            ifne 4
         3: .line 253
            iconst_0
            ireturn
         4: .line 255
      StackMap locals:
      StackMap stack:
            aload 1 /* other */
            checkcast org.h2.value.ValueTimestampTimeZone
            astore 2 /* x */
        start local 2 // org.h2.value.ValueTimestampTimeZone x
         5: .line 256
            aload 0 /* this */
            getfield org.h2.value.ValueTimestampTimeZone.dateValue:J
            aload 2 /* x */
            getfield org.h2.value.ValueTimestampTimeZone.dateValue:J
            lcmp
            ifne 8
            aload 0 /* this */
            getfield org.h2.value.ValueTimestampTimeZone.timeNanos:J
            aload 2 /* x */
            getfield org.h2.value.ValueTimestampTimeZone.timeNanos:J
            lcmp
            ifne 8
         6: .line 257
            aload 0 /* this */
            getfield org.h2.value.ValueTimestampTimeZone.timeZoneOffsetMins:S
            aload 2 /* x */
            getfield org.h2.value.ValueTimestampTimeZone.timeZoneOffsetMins:S
            if_icmpne 8
         7: .line 256
            iconst_1
            ireturn
      StackMap locals: org.h2.value.ValueTimestampTimeZone
      StackMap stack:
         8: iconst_0
            ireturn
        end local 2 // org.h2.value.ValueTimestampTimeZone x
        end local 1 // java.lang.Object other
        end local 0 // org.h2.value.ValueTimestampTimeZone this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    9     0   this  Lorg/h2/value/ValueTimestampTimeZone;
            0    9     1  other  Ljava/lang/Object;
            5    9     2      x  Lorg/h2/value/ValueTimestampTimeZone;
    MethodParameters:
       Name  Flags
      other  

  public int hashCode();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // org.h2.value.ValueTimestampTimeZone this
         0: .line 262
            aload 0 /* this */
            getfield org.h2.value.ValueTimestampTimeZone.dateValue:J
            aload 0 /* this */
            getfield org.h2.value.ValueTimestampTimeZone.dateValue:J
            bipush 32
            lushr
            lxor
            aload 0 /* this */
            getfield org.h2.value.ValueTimestampTimeZone.timeNanos:J
            lxor
         1: .line 263
            aload 0 /* this */
            getfield org.h2.value.ValueTimestampTimeZone.timeNanos:J
            bipush 32
            lushr
         2: .line 262
            lxor
         3: .line 263
            aload 0 /* this */
            getfield org.h2.value.ValueTimestampTimeZone.timeZoneOffsetMins:S
            i2l
         4: .line 262
            lxor
            l2i
            ireturn
        end local 0 // org.h2.value.ValueTimestampTimeZone this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/h2/value/ValueTimestampTimeZone;

  public java.lang.Object getObject();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=1, args_size=1
        start local 0 // org.h2.value.ValueTimestampTimeZone this
         0: .line 268
            getstatic org.h2.engine.SysProperties.RETURN_OFFSET_DATE_TIME:Z
            ifeq 2
            invokestatic org.h2.util.LocalDateTimeUtils.isJava8DateApiPresent:()Z
            ifeq 2
         1: .line 269
            aload 0 /* this */
            invokestatic org.h2.util.LocalDateTimeUtils.valueToOffsetDateTime:(Lorg/h2/value/Value;)Ljava/lang/Object;
            areturn
         2: .line 271
      StackMap locals:
      StackMap stack:
            new org.h2.api.TimestampWithTimeZone
            dup
            aload 0 /* this */
            getfield org.h2.value.ValueTimestampTimeZone.dateValue:J
            aload 0 /* this */
            getfield org.h2.value.ValueTimestampTimeZone.timeNanos:J
            aload 0 /* this */
            getfield org.h2.value.ValueTimestampTimeZone.timeZoneOffsetMins:S
            invokespecial org.h2.api.TimestampWithTimeZone.<init>:(JJS)V
            areturn
        end local 0 // org.h2.value.ValueTimestampTimeZone this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/h2/value/ValueTimestampTimeZone;

  public void set(java.sql.PreparedStatement, int);
    descriptor: (Ljava/sql/PreparedStatement;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.h2.value.ValueTimestampTimeZone this
        start local 1 // java.sql.PreparedStatement prep
        start local 2 // int parameterIndex
         0: .line 277
            aload 1 /* prep */
            iload 2 /* parameterIndex */
            aload 0 /* this */
            invokevirtual org.h2.value.ValueTimestampTimeZone.getString:()Ljava/lang/String;
            invokeinterface java.sql.PreparedStatement.setString:(ILjava/lang/String;)V
         1: .line 278
            return
        end local 2 // int parameterIndex
        end local 1 // java.sql.PreparedStatement prep
        end local 0 // org.h2.value.ValueTimestampTimeZone this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    2     0            this  Lorg/h2/value/ValueTimestampTimeZone;
            0    2     1            prep  Ljava/sql/PreparedStatement;
            0    2     2  parameterIndex  I
    Exceptions:
      throws java.sql.SQLException
    MethodParameters:
                Name  Flags
      prep            
      parameterIndex  

  public org.h2.value.Value add(org.h2.value.Value);
    descriptor: (Lorg/h2/value/Value;)Lorg/h2/value/Value;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.h2.value.ValueTimestampTimeZone this
        start local 1 // org.h2.value.Value v
         0: .line 283
            ldc "manipulating TIMESTAMP WITH TIME ZONE values is unsupported"
         1: .line 282
            invokestatic org.h2.message.DbException.getUnsupportedException:(Ljava/lang/String;)Lorg/h2/message/DbException;
            athrow
        end local 1 // org.h2.value.Value v
        end local 0 // org.h2.value.ValueTimestampTimeZone this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/h2/value/ValueTimestampTimeZone;
            0    2     1     v  Lorg/h2/value/Value;
    MethodParameters:
      Name  Flags
      v     

  public org.h2.value.Value subtract(org.h2.value.Value);
    descriptor: (Lorg/h2/value/Value;)Lorg/h2/value/Value;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.h2.value.ValueTimestampTimeZone this
        start local 1 // org.h2.value.Value v
         0: .line 289
            ldc "manipulating TIMESTAMP WITH TIME ZONE values is unsupported"
         1: .line 288
            invokestatic org.h2.message.DbException.getUnsupportedException:(Ljava/lang/String;)Lorg/h2/message/DbException;
            athrow
        end local 1 // org.h2.value.Value v
        end local 0 // org.h2.value.ValueTimestampTimeZone this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/h2/value/ValueTimestampTimeZone;
            0    2     1     v  Lorg/h2/value/Value;
    MethodParameters:
      Name  Flags
      v     
}
SourceFile: "ValueTimestampTimeZone.java"