public final class java.time.zone.ZoneRules implements java.io.Serializable
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: java.time.zone.ZoneRules
  super_class: java.lang.Object
{
  private static final long serialVersionUID;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 3044319355680032515

  private static final int LAST_CACHED_YEAR;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 2100

  private final long[] standardTransitions;
    descriptor: [J
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.time.ZoneOffset[] standardOffsets;
    descriptor: [Ljava/time/ZoneOffset;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final long[] savingsInstantTransitions;
    descriptor: [J
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.time.LocalDateTime[] savingsLocalTransitions;
    descriptor: [Ljava/time/LocalDateTime;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.time.ZoneOffset[] wallOffsets;
    descriptor: [Ljava/time/ZoneOffset;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.time.zone.ZoneOffsetTransitionRule[] lastRules;
    descriptor: [Ljava/time/zone/ZoneOffsetTransitionRule;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final transient java.util.concurrent.ConcurrentMap<java.lang.Integer, java.time.zone.ZoneOffsetTransition[]> lastRulesCache;
    descriptor: Ljava/util/concurrent/ConcurrentMap;
    flags: (0x0092) ACC_PRIVATE, ACC_FINAL, ACC_TRANSIENT
    Signature: Ljava/util/concurrent/ConcurrentMap<Ljava/lang/Integer;[Ljava/time/zone/ZoneOffsetTransition;>;

  private static final long[] EMPTY_LONG_ARRAY;
    descriptor: [J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.time.zone.ZoneOffsetTransitionRule[] EMPTY_LASTRULES;
    descriptor: [Ljava/time/zone/ZoneOffsetTransitionRule;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.time.LocalDateTime[] EMPTY_LDT_ARRAY;
    descriptor: [Ljava/time/LocalDateTime;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 155
            iconst_0
            newarray 11
            putstatic java.time.zone.ZoneRules.EMPTY_LONG_ARRAY:[J
         1: .line 160
            iconst_0
            anewarray java.time.zone.ZoneOffsetTransitionRule
         2: .line 159
            putstatic java.time.zone.ZoneRules.EMPTY_LASTRULES:[Ljava/time/zone/ZoneOffsetTransitionRule;
         3: .line 164
            iconst_0
            anewarray java.time.LocalDateTime
            putstatic java.time.zone.ZoneRules.EMPTY_LDT_ARRAY:[Ljava/time/LocalDateTime;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static java.time.zone.ZoneRules of(java.time.ZoneOffset, java.time.ZoneOffset, java.util.List<java.time.zone.ZoneOffsetTransition>, java.util.List<java.time.zone.ZoneOffsetTransition>, java.util.List<java.time.zone.ZoneOffsetTransitionRule>);
    descriptor: (Ljava/time/ZoneOffset;Ljava/time/ZoneOffset;Ljava/util/List;Ljava/util/List;Ljava/util/List;)Ljava/time/zone/ZoneRules;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=5, args_size=5
        start local 0 // java.time.ZoneOffset baseStandardOffset
        start local 1 // java.time.ZoneOffset baseWallOffset
        start local 2 // java.util.List standardOffsetTransitionList
        start local 3 // java.util.List transitionList
        start local 4 // java.util.List lastRules
         0: .line 181
            aload 0 /* baseStandardOffset */
            ldc "baseStandardOffset"
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            pop
         1: .line 182
            aload 1 /* baseWallOffset */
            ldc "baseWallOffset"
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            pop
         2: .line 183
            aload 2 /* standardOffsetTransitionList */
            ldc "standardOffsetTransitionList"
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            pop
         3: .line 184
            aload 3 /* transitionList */
            ldc "transitionList"
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            pop
         4: .line 185
            aload 4 /* lastRules */
            ldc "lastRules"
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            pop
         5: .line 186
            new java.time.zone.ZoneRules
            dup
            aload 0 /* baseStandardOffset */
            aload 1 /* baseWallOffset */
         6: .line 187
            aload 2 /* standardOffsetTransitionList */
            aload 3 /* transitionList */
            aload 4 /* lastRules */
         7: .line 186
            invokespecial java.time.zone.ZoneRules.<init>:(Ljava/time/ZoneOffset;Ljava/time/ZoneOffset;Ljava/util/List;Ljava/util/List;Ljava/util/List;)V
            areturn
        end local 4 // java.util.List lastRules
        end local 3 // java.util.List transitionList
        end local 2 // java.util.List standardOffsetTransitionList
        end local 1 // java.time.ZoneOffset baseWallOffset
        end local 0 // java.time.ZoneOffset baseStandardOffset
      LocalVariableTable:
        Start  End  Slot                          Name  Signature
            0    8     0            baseStandardOffset  Ljava/time/ZoneOffset;
            0    8     1                baseWallOffset  Ljava/time/ZoneOffset;
            0    8     2  standardOffsetTransitionList  Ljava/util/List<Ljava/time/zone/ZoneOffsetTransition;>;
            0    8     3                transitionList  Ljava/util/List<Ljava/time/zone/ZoneOffsetTransition;>;
            0    8     4                     lastRules  Ljava/util/List<Ljava/time/zone/ZoneOffsetTransitionRule;>;
    Signature: (Ljava/time/ZoneOffset;Ljava/time/ZoneOffset;Ljava/util/List<Ljava/time/zone/ZoneOffsetTransition;>;Ljava/util/List<Ljava/time/zone/ZoneOffsetTransition;>;Ljava/util/List<Ljava/time/zone/ZoneOffsetTransitionRule;>;)Ljava/time/zone/ZoneRules;
    MethodParameters:
                              Name  Flags
      baseStandardOffset            
      baseWallOffset                
      standardOffsetTransitionList  
      transitionList                
      lastRules                     

  public static java.time.zone.ZoneRules of(java.time.ZoneOffset);
    descriptor: (Ljava/time/ZoneOffset;)Ljava/time/zone/ZoneRules;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.time.ZoneOffset offset
         0: .line 198
            aload 0 /* offset */
            ldc "offset"
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            pop
         1: .line 199
            new java.time.zone.ZoneRules
            dup
            aload 0 /* offset */
            invokespecial java.time.zone.ZoneRules.<init>:(Ljava/time/ZoneOffset;)V
            areturn
        end local 0 // java.time.ZoneOffset offset
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0  offset  Ljava/time/ZoneOffset;
    MethodParameters:
        Name  Flags
      offset  

  void <init>(java.time.ZoneOffset, java.time.ZoneOffset, java.util.List<java.time.zone.ZoneOffsetTransition>, java.util.List<java.time.zone.ZoneOffsetTransition>, java.util.List<java.time.zone.ZoneOffsetTransitionRule>);
    descriptor: (Ljava/time/ZoneOffset;Ljava/time/ZoneOffset;Ljava/util/List;Ljava/util/List;Ljava/util/List;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=10, args_size=6
        start local 0 // java.time.zone.ZoneRules this
        start local 1 // java.time.ZoneOffset baseStandardOffset
        start local 2 // java.time.ZoneOffset baseWallOffset
        start local 3 // java.util.List standardOffsetTransitionList
        start local 4 // java.util.List transitionList
        start local 5 // java.util.List lastRules
         0: .line 216
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 150
            aload 0 /* this */
         2: .line 151
            new java.util.concurrent.ConcurrentHashMap
            dup
            invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
            putfield java.time.zone.ZoneRules.lastRulesCache:Ljava/util/concurrent/ConcurrentMap;
         3: .line 220
            aload 0 /* this */
            aload 3 /* standardOffsetTransitionList */
            invokeinterface java.util.List.size:()I
            newarray 11
            putfield java.time.zone.ZoneRules.standardTransitions:[J
         4: .line 222
            aload 0 /* this */
            aload 3 /* standardOffsetTransitionList */
            invokeinterface java.util.List.size:()I
            iconst_1
            iadd
            anewarray java.time.ZoneOffset
            putfield java.time.zone.ZoneRules.standardOffsets:[Ljava/time/ZoneOffset;
         5: .line 223
            aload 0 /* this */
            getfield java.time.zone.ZoneRules.standardOffsets:[Ljava/time/ZoneOffset;
            iconst_0
            aload 1 /* baseStandardOffset */
            aastore
         6: .line 224
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         7: goto 11
         8: .line 225
      StackMap locals: java.time.zone.ZoneRules java.time.ZoneOffset java.time.ZoneOffset java.util.List java.util.List java.util.List int
      StackMap stack:
            aload 0 /* this */
            getfield java.time.zone.ZoneRules.standardTransitions:[J
            iload 6 /* i */
            aload 3 /* standardOffsetTransitionList */
            iload 6 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.time.zone.ZoneOffsetTransition
            invokevirtual java.time.zone.ZoneOffsetTransition.toEpochSecond:()J
            lastore
         9: .line 226
            aload 0 /* this */
            getfield java.time.zone.ZoneRules.standardOffsets:[Ljava/time/ZoneOffset;
            iload 6 /* i */
            iconst_1
            iadd
            aload 3 /* standardOffsetTransitionList */
            iload 6 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.time.zone.ZoneOffsetTransition
            invokevirtual java.time.zone.ZoneOffsetTransition.getOffsetAfter:()Ljava/time/ZoneOffset;
            aastore
        10: .line 224
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 6 /* i */
            aload 3 /* standardOffsetTransitionList */
            invokeinterface java.util.List.size:()I
            if_icmplt 8
        end local 6 // int i
        12: .line 230
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 6 /* localTransitionList */
        start local 6 // java.util.List localTransitionList
        13: .line 231
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 7 /* localTransitionOffsetList */
        start local 7 // java.util.List localTransitionOffsetList
        14: .line 232
            aload 7 /* localTransitionOffsetList */
            aload 2 /* baseWallOffset */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        15: .line 233
            aload 4 /* transitionList */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 9
            goto 24
      StackMap locals: java.time.zone.ZoneRules java.time.ZoneOffset java.time.ZoneOffset java.util.List java.util.List java.util.List java.util.List java.util.List top java.util.Iterator
      StackMap stack:
        16: aload 9
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.time.zone.ZoneOffsetTransition
            astore 8 /* trans */
        start local 8 // java.time.zone.ZoneOffsetTransition trans
        17: .line 234
            aload 8 /* trans */
            invokevirtual java.time.zone.ZoneOffsetTransition.isGap:()Z
            ifeq 21
        18: .line 235
            aload 6 /* localTransitionList */
            aload 8 /* trans */
            invokevirtual java.time.zone.ZoneOffsetTransition.getDateTimeBefore:()Ljava/time/LocalDateTime;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        19: .line 236
            aload 6 /* localTransitionList */
            aload 8 /* trans */
            invokevirtual java.time.zone.ZoneOffsetTransition.getDateTimeAfter:()Ljava/time/LocalDateTime;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        20: .line 237
            goto 23
        21: .line 238
      StackMap locals: java.time.zone.ZoneRules java.time.ZoneOffset java.time.ZoneOffset java.util.List java.util.List java.util.List java.util.List java.util.List java.time.zone.ZoneOffsetTransition java.util.Iterator
      StackMap stack:
            aload 6 /* localTransitionList */
            aload 8 /* trans */
            invokevirtual java.time.zone.ZoneOffsetTransition.getDateTimeAfter:()Ljava/time/LocalDateTime;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        22: .line 239
            aload 6 /* localTransitionList */
            aload 8 /* trans */
            invokevirtual java.time.zone.ZoneOffsetTransition.getDateTimeBefore:()Ljava/time/LocalDateTime;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        23: .line 241
      StackMap locals:
      StackMap stack:
            aload 7 /* localTransitionOffsetList */
            aload 8 /* trans */
            invokevirtual java.time.zone.ZoneOffsetTransition.getOffsetAfter:()Ljava/time/ZoneOffset;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 8 // java.time.zone.ZoneOffsetTransition trans
        24: .line 233
      StackMap locals: java.time.zone.ZoneRules java.time.ZoneOffset java.time.ZoneOffset java.util.List java.util.List java.util.List java.util.List java.util.List top java.util.Iterator
      StackMap stack:
            aload 9
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 16
        25: .line 243
            aload 0 /* this */
            aload 6 /* localTransitionList */
            aload 6 /* localTransitionList */
            invokeinterface java.util.List.size:()I
            anewarray java.time.LocalDateTime
            invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast java.time.LocalDateTime[]
            putfield java.time.zone.ZoneRules.savingsLocalTransitions:[Ljava/time/LocalDateTime;
        26: .line 244
            aload 0 /* this */
            aload 7 /* localTransitionOffsetList */
            aload 7 /* localTransitionOffsetList */
            invokeinterface java.util.List.size:()I
            anewarray java.time.ZoneOffset
            invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast java.time.ZoneOffset[]
            putfield java.time.zone.ZoneRules.wallOffsets:[Ljava/time/ZoneOffset;
        27: .line 247
            aload 0 /* this */
            aload 4 /* transitionList */
            invokeinterface java.util.List.size:()I
            newarray 11
            putfield java.time.zone.ZoneRules.savingsInstantTransitions:[J
        28: .line 248
            iconst_0
            istore 8 /* i */
        start local 8 // int i
        29: goto 32
        30: .line 249
      StackMap locals: java.time.zone.ZoneRules java.time.ZoneOffset java.time.ZoneOffset java.util.List java.util.List java.util.List java.util.List java.util.List int
      StackMap stack:
            aload 0 /* this */
            getfield java.time.zone.ZoneRules.savingsInstantTransitions:[J
            iload 8 /* i */
            aload 4 /* transitionList */
            iload 8 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.time.zone.ZoneOffsetTransition
            invokevirtual java.time.zone.ZoneOffsetTransition.toEpochSecond:()J
            lastore
        31: .line 248
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        32: iload 8 /* i */
            aload 4 /* transitionList */
            invokeinterface java.util.List.size:()I
            if_icmplt 30
        end local 8 // int i
        33: .line 253
            aload 5 /* lastRules */
            invokeinterface java.util.List.size:()I
            bipush 16
            if_icmple 35
        34: .line 254
            new java.lang.IllegalArgumentException
            dup
            ldc "Too many transition rules"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        35: .line 256
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 5 /* lastRules */
            aload 5 /* lastRules */
            invokeinterface java.util.List.size:()I
            anewarray java.time.zone.ZoneOffsetTransitionRule
            invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast java.time.zone.ZoneOffsetTransitionRule[]
            putfield java.time.zone.ZoneRules.lastRules:[Ljava/time/zone/ZoneOffsetTransitionRule;
        36: .line 257
            return
        end local 7 // java.util.List localTransitionOffsetList
        end local 6 // java.util.List localTransitionList
        end local 5 // java.util.List lastRules
        end local 4 // java.util.List transitionList
        end local 3 // java.util.List standardOffsetTransitionList
        end local 2 // java.time.ZoneOffset baseWallOffset
        end local 1 // java.time.ZoneOffset baseStandardOffset
        end local 0 // java.time.zone.ZoneRules this
      LocalVariableTable:
        Start  End  Slot                          Name  Signature
            0   37     0                          this  Ljava/time/zone/ZoneRules;
            0   37     1            baseStandardOffset  Ljava/time/ZoneOffset;
            0   37     2                baseWallOffset  Ljava/time/ZoneOffset;
            0   37     3  standardOffsetTransitionList  Ljava/util/List<Ljava/time/zone/ZoneOffsetTransition;>;
            0   37     4                transitionList  Ljava/util/List<Ljava/time/zone/ZoneOffsetTransition;>;
            0   37     5                     lastRules  Ljava/util/List<Ljava/time/zone/ZoneOffsetTransitionRule;>;
            7   12     6                             i  I
           13   37     6           localTransitionList  Ljava/util/List<Ljava/time/LocalDateTime;>;
           14   37     7     localTransitionOffsetList  Ljava/util/List<Ljava/time/ZoneOffset;>;
           17   24     8                         trans  Ljava/time/zone/ZoneOffsetTransition;
           29   33     8                             i  I
    Signature: (Ljava/time/ZoneOffset;Ljava/time/ZoneOffset;Ljava/util/List<Ljava/time/zone/ZoneOffsetTransition;>;Ljava/util/List<Ljava/time/zone/ZoneOffsetTransition;>;Ljava/util/List<Ljava/time/zone/ZoneOffsetTransitionRule;>;)V
    MethodParameters:
                              Name  Flags
      baseStandardOffset            
      baseWallOffset                
      standardOffsetTransitionList  
      transitionList                
      lastRules                     

  private void <init>(long[], java.time.ZoneOffset[], long[], java.time.ZoneOffset[], java.time.zone.ZoneOffsetTransitionRule[]);
    descriptor: ([J[Ljava/time/ZoneOffset;[J[Ljava/time/ZoneOffset;[Ljava/time/zone/ZoneOffsetTransitionRule;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=11, args_size=6
        start local 0 // java.time.zone.ZoneRules this
        start local 1 // long[] standardTransitions
        start local 2 // java.time.ZoneOffset[] standardOffsets
        start local 3 // long[] savingsInstantTransitions
        start local 4 // java.time.ZoneOffset[] wallOffsets
        start local 5 // java.time.zone.ZoneOffsetTransitionRule[] lastRules
         0: .line 273
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 150
            aload 0 /* this */
         2: .line 151
            new java.util.concurrent.ConcurrentHashMap
            dup
            invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
            putfield java.time.zone.ZoneRules.lastRulesCache:Ljava/util/concurrent/ConcurrentMap;
         3: .line 275
            aload 0 /* this */
            aload 1 /* standardTransitions */
            putfield java.time.zone.ZoneRules.standardTransitions:[J
         4: .line 276
            aload 0 /* this */
            aload 2 /* standardOffsets */
            putfield java.time.zone.ZoneRules.standardOffsets:[Ljava/time/ZoneOffset;
         5: .line 277
            aload 0 /* this */
            aload 3 /* savingsInstantTransitions */
            putfield java.time.zone.ZoneRules.savingsInstantTransitions:[J
         6: .line 278
            aload 0 /* this */
            aload 4 /* wallOffsets */
            putfield java.time.zone.ZoneRules.wallOffsets:[Ljava/time/ZoneOffset;
         7: .line 279
            aload 0 /* this */
            aload 5 /* lastRules */
            putfield java.time.zone.ZoneRules.lastRules:[Ljava/time/zone/ZoneOffsetTransitionRule;
         8: .line 281
            aload 3 /* savingsInstantTransitions */
            arraylength
            ifne 11
         9: .line 282
            aload 0 /* this */
            getstatic java.time.zone.ZoneRules.EMPTY_LDT_ARRAY:[Ljava/time/LocalDateTime;
            putfield java.time.zone.ZoneRules.savingsLocalTransitions:[Ljava/time/LocalDateTime;
        10: .line 283
            goto 26
        11: .line 285
      StackMap locals: java.time.zone.ZoneRules long[] java.time.ZoneOffset[] long[] java.time.ZoneOffset[] java.time.zone.ZoneOffsetTransitionRule[]
      StackMap stack:
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 6 /* localTransitionList */
        start local 6 // java.util.List localTransitionList
        12: .line 286
            iconst_0
            istore 7 /* i */
        start local 7 // int i
        13: goto 24
        14: .line 287
      StackMap locals: java.util.List int
      StackMap stack:
            aload 4 /* wallOffsets */
            iload 7 /* i */
            aaload
            astore 8 /* before */
        start local 8 // java.time.ZoneOffset before
        15: .line 288
            aload 4 /* wallOffsets */
            iload 7 /* i */
            iconst_1
            iadd
            aaload
            astore 9 /* after */
        start local 9 // java.time.ZoneOffset after
        16: .line 289
            new java.time.zone.ZoneOffsetTransition
            dup
            aload 3 /* savingsInstantTransitions */
            iload 7 /* i */
            laload
            aload 8 /* before */
            aload 9 /* after */
            invokespecial java.time.zone.ZoneOffsetTransition.<init>:(JLjava/time/ZoneOffset;Ljava/time/ZoneOffset;)V
            astore 10 /* trans */
        start local 10 // java.time.zone.ZoneOffsetTransition trans
        17: .line 290
            aload 10 /* trans */
            invokevirtual java.time.zone.ZoneOffsetTransition.isGap:()Z
            ifeq 21
        18: .line 291
            aload 6 /* localTransitionList */
            aload 10 /* trans */
            invokevirtual java.time.zone.ZoneOffsetTransition.getDateTimeBefore:()Ljava/time/LocalDateTime;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        19: .line 292
            aload 6 /* localTransitionList */
            aload 10 /* trans */
            invokevirtual java.time.zone.ZoneOffsetTransition.getDateTimeAfter:()Ljava/time/LocalDateTime;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        20: .line 293
            goto 23
        21: .line 294
      StackMap locals: java.time.ZoneOffset java.time.ZoneOffset java.time.zone.ZoneOffsetTransition
      StackMap stack:
            aload 6 /* localTransitionList */
            aload 10 /* trans */
            invokevirtual java.time.zone.ZoneOffsetTransition.getDateTimeAfter:()Ljava/time/LocalDateTime;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        22: .line 295
            aload 6 /* localTransitionList */
            aload 10 /* trans */
            invokevirtual java.time.zone.ZoneOffsetTransition.getDateTimeBefore:()Ljava/time/LocalDateTime;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 10 // java.time.zone.ZoneOffsetTransition trans
        end local 9 // java.time.ZoneOffset after
        end local 8 // java.time.ZoneOffset before
        23: .line 286
      StackMap locals:
      StackMap stack:
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        24: iload 7 /* i */
            aload 3 /* savingsInstantTransitions */
            arraylength
            if_icmplt 14
        end local 7 // int i
        25: .line 298
            aload 0 /* this */
            aload 6 /* localTransitionList */
            aload 6 /* localTransitionList */
            invokeinterface java.util.List.size:()I
            anewarray java.time.LocalDateTime
            invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast java.time.LocalDateTime[]
            putfield java.time.zone.ZoneRules.savingsLocalTransitions:[Ljava/time/LocalDateTime;
        end local 6 // java.util.List localTransitionList
        26: .line 300
      StackMap locals:
      StackMap stack:
            return
        end local 5 // java.time.zone.ZoneOffsetTransitionRule[] lastRules
        end local 4 // java.time.ZoneOffset[] wallOffsets
        end local 3 // long[] savingsInstantTransitions
        end local 2 // java.time.ZoneOffset[] standardOffsets
        end local 1 // long[] standardTransitions
        end local 0 // java.time.zone.ZoneRules this
      LocalVariableTable:
        Start  End  Slot                       Name  Signature
            0   27     0                       this  Ljava/time/zone/ZoneRules;
            0   27     1        standardTransitions  [J
            0   27     2            standardOffsets  [Ljava/time/ZoneOffset;
            0   27     3  savingsInstantTransitions  [J
            0   27     4                wallOffsets  [Ljava/time/ZoneOffset;
            0   27     5                  lastRules  [Ljava/time/zone/ZoneOffsetTransitionRule;
           12   26     6        localTransitionList  Ljava/util/List<Ljava/time/LocalDateTime;>;
           13   25     7                          i  I
           15   23     8                     before  Ljava/time/ZoneOffset;
           16   23     9                      after  Ljava/time/ZoneOffset;
           17   23    10                      trans  Ljava/time/zone/ZoneOffsetTransition;
    MethodParameters:
                           Name  Flags
      standardTransitions        
      standardOffsets            
      savingsInstantTransitions  
      wallOffsets                
      lastRules                  

  private void <init>(java.time.ZoneOffset);
    descriptor: (Ljava/time/ZoneOffset;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.time.zone.ZoneRules this
        start local 1 // java.time.ZoneOffset offset
         0: .line 308
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 150
            aload 0 /* this */
         2: .line 151
            new java.util.concurrent.ConcurrentHashMap
            dup
            invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
            putfield java.time.zone.ZoneRules.lastRulesCache:Ljava/util/concurrent/ConcurrentMap;
         3: .line 309
            aload 0 /* this */
            iconst_1
            anewarray java.time.ZoneOffset
            putfield java.time.zone.ZoneRules.standardOffsets:[Ljava/time/ZoneOffset;
         4: .line 310
            aload 0 /* this */
            getfield java.time.zone.ZoneRules.standardOffsets:[Ljava/time/ZoneOffset;
            iconst_0
            aload 1 /* offset */
            aastore
         5: .line 311
            aload 0 /* this */
            getstatic java.time.zone.ZoneRules.EMPTY_LONG_ARRAY:[J
            putfield java.time.zone.ZoneRules.standardTransitions:[J
         6: .line 312
            aload 0 /* this */
            getstatic java.time.zone.ZoneRules.EMPTY_LONG_ARRAY:[J
            putfield java.time.zone.ZoneRules.savingsInstantTransitions:[J
         7: .line 313
            aload 0 /* this */
            getstatic java.time.zone.ZoneRules.EMPTY_LDT_ARRAY:[Ljava/time/LocalDateTime;
            putfield java.time.zone.ZoneRules.savingsLocalTransitions:[Ljava/time/LocalDateTime;
         8: .line 314
            aload 0 /* this */
            aload 0 /* this */
            getfield java.time.zone.ZoneRules.standardOffsets:[Ljava/time/ZoneOffset;
            putfield java.time.zone.ZoneRules.wallOffsets:[Ljava/time/ZoneOffset;
         9: .line 315
            aload 0 /* this */
            getstatic java.time.zone.ZoneRules.EMPTY_LASTRULES:[Ljava/time/zone/ZoneOffsetTransitionRule;
            putfield java.time.zone.ZoneRules.lastRules:[Ljava/time/zone/ZoneOffsetTransitionRule;
        10: .line 316
            return
        end local 1 // java.time.ZoneOffset offset
        end local 0 // java.time.zone.ZoneRules this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   11     0    this  Ljava/time/zone/ZoneRules;
            0   11     1  offset  Ljava/time/ZoneOffset;
    MethodParameters:
        Name  Flags
      offset  

  private void readObject(java.io.ObjectInputStream);
    descriptor: (Ljava/io/ObjectInputStream;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.time.zone.ZoneRules this
        start local 1 // java.io.ObjectInputStream s
         0: .line 325
            new java.io.InvalidObjectException
            dup
            ldc "Deserialization via serialization delegate"
            invokespecial java.io.InvalidObjectException.<init>:(Ljava/lang/String;)V
            athrow
        end local 1 // java.io.ObjectInputStream s
        end local 0 // java.time.zone.ZoneRules this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/time/zone/ZoneRules;
            0    1     1     s  Ljava/io/ObjectInputStream;
    Exceptions:
      throws java.io.InvalidObjectException
    MethodParameters:
      Name  Flags
      s     

  private java.lang.Object writeReplace();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // java.time.zone.ZoneRules this
         0: .line 391
            new java.time.zone.Ser
            dup
            iconst_1
            aload 0 /* this */
            invokespecial java.time.zone.Ser.<init>:(BLjava/lang/Object;)V
            areturn
        end local 0 // java.time.zone.ZoneRules this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/time/zone/ZoneRules;

  void writeExternal(java.io.DataOutput);
    descriptor: (Ljava/io/DataOutput;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=7, args_size=2
        start local 0 // java.time.zone.ZoneRules this
        start local 1 // java.io.DataOutput out
         0: .line 401
            aload 1 /* out */
            aload 0 /* this */
            getfield java.time.zone.ZoneRules.standardTransitions:[J
            arraylength
            invokeinterface java.io.DataOutput.writeInt:(I)V
         1: .line 402
            aload 0 /* this */
            getfield java.time.zone.ZoneRules.standardTransitions:[J
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 5
      StackMap locals: java.time.zone.ZoneRules java.io.DataOutput top top int int long[]
      StackMap stack:
         2: aload 6
            iload 4
            laload
            lstore 2 /* trans */
        start local 2 // long trans
         3: .line 403
            lload 2 /* trans */
            aload 1 /* out */
            invokestatic java.time.zone.Ser.writeEpochSec:(JLjava/io/DataOutput;)V
        end local 2 // long trans
         4: .line 402
            iinc 4 1
      StackMap locals:
      StackMap stack:
         5: iload 4
            iload 5
            if_icmplt 2
         6: .line 405
            aload 0 /* this */
            getfield java.time.zone.ZoneRules.standardOffsets:[Ljava/time/ZoneOffset;
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 10
      StackMap locals: java.time.zone.ZoneRules java.io.DataOutput top int int java.time.ZoneOffset[]
      StackMap stack:
         7: aload 5
            iload 3
            aaload
            astore 2 /* offset */
        start local 2 // java.time.ZoneOffset offset
         8: .line 406
            aload 2 /* offset */
            aload 1 /* out */
            invokestatic java.time.zone.Ser.writeOffset:(Ljava/time/ZoneOffset;Ljava/io/DataOutput;)V
        end local 2 // java.time.ZoneOffset offset
         9: .line 405
            iinc 3 1
      StackMap locals:
      StackMap stack:
        10: iload 3
            iload 4
            if_icmplt 7
        11: .line 408
            aload 1 /* out */
            aload 0 /* this */
            getfield java.time.zone.ZoneRules.savingsInstantTransitions:[J
            arraylength
            invokeinterface java.io.DataOutput.writeInt:(I)V
        12: .line 409
            aload 0 /* this */
            getfield java.time.zone.ZoneRules.savingsInstantTransitions:[J
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 16
      StackMap locals: java.time.zone.ZoneRules java.io.DataOutput top top int int long[]
      StackMap stack:
        13: aload 6
            iload 4
            laload
            lstore 2 /* trans */
        start local 2 // long trans
        14: .line 410
            lload 2 /* trans */
            aload 1 /* out */
            invokestatic java.time.zone.Ser.writeEpochSec:(JLjava/io/DataOutput;)V
        end local 2 // long trans
        15: .line 409
            iinc 4 1
      StackMap locals:
      StackMap stack:
        16: iload 4
            iload 5
            if_icmplt 13
        17: .line 412
            aload 0 /* this */
            getfield java.time.zone.ZoneRules.wallOffsets:[Ljava/time/ZoneOffset;
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 21
      StackMap locals: java.time.zone.ZoneRules java.io.DataOutput top int int java.time.ZoneOffset[]
      StackMap stack:
        18: aload 5
            iload 3
            aaload
            astore 2 /* offset */
        start local 2 // java.time.ZoneOffset offset
        19: .line 413
            aload 2 /* offset */
            aload 1 /* out */
            invokestatic java.time.zone.Ser.writeOffset:(Ljava/time/ZoneOffset;Ljava/io/DataOutput;)V
        end local 2 // java.time.ZoneOffset offset
        20: .line 412
            iinc 3 1
      StackMap locals:
      StackMap stack:
        21: iload 3
            iload 4
            if_icmplt 18
        22: .line 415
            aload 1 /* out */
            aload 0 /* this */
            getfield java.time.zone.ZoneRules.lastRules:[Ljava/time/zone/ZoneOffsetTransitionRule;
            arraylength
            invokeinterface java.io.DataOutput.writeByte:(I)V
        23: .line 416
            aload 0 /* this */
            getfield java.time.zone.ZoneRules.lastRules:[Ljava/time/zone/ZoneOffsetTransitionRule;
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 27
      StackMap locals: java.time.zone.ZoneRules java.io.DataOutput top int int java.time.zone.ZoneOffsetTransitionRule[]
      StackMap stack:
        24: aload 5
            iload 3
            aaload
            astore 2 /* rule */
        start local 2 // java.time.zone.ZoneOffsetTransitionRule rule
        25: .line 417
            aload 2 /* rule */
            aload 1 /* out */
            invokevirtual java.time.zone.ZoneOffsetTransitionRule.writeExternal:(Ljava/io/DataOutput;)V
        end local 2 // java.time.zone.ZoneOffsetTransitionRule rule
        26: .line 416
            iinc 3 1
      StackMap locals:
      StackMap stack:
        27: iload 3
            iload 4
            if_icmplt 24
        28: .line 419
            return
        end local 1 // java.io.DataOutput out
        end local 0 // java.time.zone.ZoneRules this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   29     0    this  Ljava/time/zone/ZoneRules;
            0   29     1     out  Ljava/io/DataOutput;
            3    4     2   trans  J
            8    9     2  offset  Ljava/time/ZoneOffset;
           14   15     2   trans  J
           19   20     2  offset  Ljava/time/ZoneOffset;
           25   26     2    rule  Ljava/time/zone/ZoneOffsetTransitionRule;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      out   

  static java.time.zone.ZoneRules readExternal(java.io.DataInput);
    descriptor: (Ljava/io/DataInput;)Ljava/time/zone/ZoneRules;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=7, locals=10, args_size=1
        start local 0 // java.io.DataInput in
         0: .line 429
            aload 0 /* in */
            invokeinterface java.io.DataInput.readInt:()I
            istore 1 /* stdSize */
        start local 1 // int stdSize
         1: .line 430
            iload 1 /* stdSize */
            ifne 2
            getstatic java.time.zone.ZoneRules.EMPTY_LONG_ARRAY:[J
            goto 3
         2: .line 431
      StackMap locals: int
      StackMap stack:
            iload 1 /* stdSize */
            newarray 11
         3: .line 430
      StackMap locals:
      StackMap stack: long[]
            astore 2 /* stdTrans */
        start local 2 // long[] stdTrans
         4: .line 432
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         5: goto 8
         6: .line 433
      StackMap locals: long[] int
      StackMap stack:
            aload 2 /* stdTrans */
            iload 3 /* i */
            aload 0 /* in */
            invokestatic java.time.zone.Ser.readEpochSec:(Ljava/io/DataInput;)J
            lastore
         7: .line 432
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 3 /* i */
            iload 1 /* stdSize */
            if_icmplt 6
        end local 3 // int i
         9: .line 435
            iload 1 /* stdSize */
            iconst_1
            iadd
            anewarray java.time.ZoneOffset
            astore 3 /* stdOffsets */
        start local 3 // java.time.ZoneOffset[] stdOffsets
        10: .line 436
            iconst_0
            istore 4 /* i */
        start local 4 // int i
        11: goto 14
        12: .line 437
      StackMap locals: java.io.DataInput int long[] java.time.ZoneOffset[] int
      StackMap stack:
            aload 3 /* stdOffsets */
            iload 4 /* i */
            aload 0 /* in */
            invokestatic java.time.zone.Ser.readOffset:(Ljava/io/DataInput;)Ljava/time/ZoneOffset;
            aastore
        13: .line 436
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        14: iload 4 /* i */
            aload 3 /* stdOffsets */
            arraylength
            if_icmplt 12
        end local 4 // int i
        15: .line 439
            aload 0 /* in */
            invokeinterface java.io.DataInput.readInt:()I
            istore 4 /* savSize */
        start local 4 // int savSize
        16: .line 440
            iload 4 /* savSize */
            ifne 17
            getstatic java.time.zone.ZoneRules.EMPTY_LONG_ARRAY:[J
            goto 18
        17: .line 441
      StackMap locals:
      StackMap stack:
            iload 4 /* savSize */
            newarray 11
        18: .line 440
      StackMap locals:
      StackMap stack: long[]
            astore 5 /* savTrans */
        start local 5 // long[] savTrans
        19: .line 442
            iconst_0
            istore 6 /* i */
        start local 6 // int i
        20: goto 23
        21: .line 443
      StackMap locals: long[] int
      StackMap stack:
            aload 5 /* savTrans */
            iload 6 /* i */
            aload 0 /* in */
            invokestatic java.time.zone.Ser.readEpochSec:(Ljava/io/DataInput;)J
            lastore
        22: .line 442
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        23: iload 6 /* i */
            iload 4 /* savSize */
            if_icmplt 21
        end local 6 // int i
        24: .line 445
            iload 4 /* savSize */
            iconst_1
            iadd
            anewarray java.time.ZoneOffset
            astore 6 /* savOffsets */
        start local 6 // java.time.ZoneOffset[] savOffsets
        25: .line 446
            iconst_0
            istore 7 /* i */
        start local 7 // int i
        26: goto 29
        27: .line 447
      StackMap locals: java.io.DataInput int long[] java.time.ZoneOffset[] int long[] java.time.ZoneOffset[] int
      StackMap stack:
            aload 6 /* savOffsets */
            iload 7 /* i */
            aload 0 /* in */
            invokestatic java.time.zone.Ser.readOffset:(Ljava/io/DataInput;)Ljava/time/ZoneOffset;
            aastore
        28: .line 446
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        29: iload 7 /* i */
            aload 6 /* savOffsets */
            arraylength
            if_icmplt 27
        end local 7 // int i
        30: .line 449
            aload 0 /* in */
            invokeinterface java.io.DataInput.readByte:()B
            istore 7 /* ruleSize */
        start local 7 // int ruleSize
        31: .line 450
            iload 7 /* ruleSize */
            ifne 33
        32: .line 451
            getstatic java.time.zone.ZoneRules.EMPTY_LASTRULES:[Ljava/time/zone/ZoneOffsetTransitionRule;
            goto 34
      StackMap locals:
      StackMap stack:
        33: iload 7 /* ruleSize */
            anewarray java.time.zone.ZoneOffsetTransitionRule
        34: .line 450
      StackMap locals:
      StackMap stack: java.time.zone.ZoneOffsetTransitionRule[]
            astore 8 /* rules */
        start local 8 // java.time.zone.ZoneOffsetTransitionRule[] rules
        35: .line 452
            iconst_0
            istore 9 /* i */
        start local 9 // int i
        36: goto 39
        37: .line 453
      StackMap locals: java.time.zone.ZoneOffsetTransitionRule[] int
      StackMap stack:
            aload 8 /* rules */
            iload 9 /* i */
            aload 0 /* in */
            invokestatic java.time.zone.ZoneOffsetTransitionRule.readExternal:(Ljava/io/DataInput;)Ljava/time/zone/ZoneOffsetTransitionRule;
            aastore
        38: .line 452
            iinc 9 /* i */ 1
      StackMap locals:
      StackMap stack:
        39: iload 9 /* i */
            iload 7 /* ruleSize */
            if_icmplt 37
        end local 9 // int i
        40: .line 455
            new java.time.zone.ZoneRules
            dup
            aload 2 /* stdTrans */
            aload 3 /* stdOffsets */
            aload 5 /* savTrans */
            aload 6 /* savOffsets */
            aload 8 /* rules */
            invokespecial java.time.zone.ZoneRules.<init>:([J[Ljava/time/ZoneOffset;[J[Ljava/time/ZoneOffset;[Ljava/time/zone/ZoneOffsetTransitionRule;)V
            areturn
        end local 8 // java.time.zone.ZoneOffsetTransitionRule[] rules
        end local 7 // int ruleSize
        end local 6 // java.time.ZoneOffset[] savOffsets
        end local 5 // long[] savTrans
        end local 4 // int savSize
        end local 3 // java.time.ZoneOffset[] stdOffsets
        end local 2 // long[] stdTrans
        end local 1 // int stdSize
        end local 0 // java.io.DataInput in
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   41     0          in  Ljava/io/DataInput;
            1   41     1     stdSize  I
            4   41     2    stdTrans  [J
            5    9     3           i  I
           10   41     3  stdOffsets  [Ljava/time/ZoneOffset;
           11   15     4           i  I
           16   41     4     savSize  I
           19   41     5    savTrans  [J
           20   24     6           i  I
           25   41     6  savOffsets  [Ljava/time/ZoneOffset;
           26   30     7           i  I
           31   41     7    ruleSize  I
           35   41     8       rules  [Ljava/time/zone/ZoneOffsetTransitionRule;
           36   40     9           i  I
    Exceptions:
      throws java.io.IOException, java.lang.ClassNotFoundException
    MethodParameters:
      Name  Flags
      in    

  public boolean isFixedOffset();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.time.zone.ZoneRules this
         0: .line 464
            aload 0 /* this */
            getfield java.time.zone.ZoneRules.savingsInstantTransitions:[J
            arraylength
            ifne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // java.time.zone.ZoneRules this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljava/time/zone/ZoneRules;

  public java.time.ZoneOffset getOffset(java.time.Instant);
    descriptor: (Ljava/time/Instant;)Ljava/time/ZoneOffset;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=8, args_size=2
        start local 0 // java.time.zone.ZoneRules this
        start local 1 // java.time.Instant instant
         0: .line 479
            aload 0 /* this */
            getfield java.time.zone.ZoneRules.savingsInstantTransitions:[J
            arraylength
            ifne 2
         1: .line 480
            aload 0 /* this */
            getfield java.time.zone.ZoneRules.standardOffsets:[Ljava/time/ZoneOffset;
            iconst_0
            aaload
            areturn
         2: .line 482
      StackMap locals:
      StackMap stack:
            aload 1 /* instant */
            invokevirtual java.time.Instant.getEpochSecond:()J
            lstore 2 /* epochSec */
        start local 2 // long epochSec
         3: .line 484
            aload 0 /* this */
            getfield java.time.zone.ZoneRules.lastRules:[Ljava/time/zone/ZoneOffsetTransitionRule;
            arraylength
            ifle 16
         4: .line 485
            lload 2 /* epochSec */
            aload 0 /* this */
            getfield java.time.zone.ZoneRules.savingsInstantTransitions:[J
            aload 0 /* this */
            getfield java.time.zone.ZoneRules.savingsInstantTransitions:[J
            arraylength
            iconst_1
            isub
            laload
            lcmp
            ifle 16
         5: .line 486
            aload 0 /* this */
            lload 2 /* epochSec */
            aload 0 /* this */
            getfield java.time.zone.ZoneRules.wallOffsets:[Ljava/time/ZoneOffset;
            aload 0 /* this */
            getfield java.time.zone.ZoneRules.wallOffsets:[Ljava/time/ZoneOffset;
            arraylength
            iconst_1
            isub
            aaload
            invokevirtual java.time.zone.ZoneRules.findYear:(JLjava/time/ZoneOffset;)I
            istore 4 /* year */
        start local 4 // int year
         6: .line 487
            aload 0 /* this */
            iload 4 /* year */
            invokevirtual java.time.zone.ZoneRules.findTransitionArray:(I)[Ljava/time/zone/ZoneOffsetTransition;
            astore 5 /* transArray */
        start local 5 // java.time.zone.ZoneOffsetTransition[] transArray
         7: .line 488
            aconst_null
            astore 6 /* trans */
        start local 6 // java.time.zone.ZoneOffsetTransition trans
         8: .line 489
            iconst_0
            istore 7 /* i */
        start local 7 // int i
         9: goto 14
        10: .line 490
      StackMap locals: java.time.zone.ZoneRules java.time.Instant long int java.time.zone.ZoneOffsetTransition[] java.time.zone.ZoneOffsetTransition int
      StackMap stack:
            aload 5 /* transArray */
            iload 7 /* i */
            aaload
            astore 6 /* trans */
        11: .line 491
            lload 2 /* epochSec */
            aload 6 /* trans */
            invokevirtual java.time.zone.ZoneOffsetTransition.toEpochSecond:()J
            lcmp
            ifge 13
        12: .line 492
            aload 6 /* trans */
            invokevirtual java.time.zone.ZoneOffsetTransition.getOffsetBefore:()Ljava/time/ZoneOffset;
            areturn
        13: .line 489
      StackMap locals:
      StackMap stack:
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        14: iload 7 /* i */
            aload 5 /* transArray */
            arraylength
            if_icmplt 10
        end local 7 // int i
        15: .line 495
            aload 6 /* trans */
            invokevirtual java.time.zone.ZoneOffsetTransition.getOffsetAfter:()Ljava/time/ZoneOffset;
            areturn
        end local 6 // java.time.zone.ZoneOffsetTransition trans
        end local 5 // java.time.zone.ZoneOffsetTransition[] transArray
        end local 4 // int year
        16: .line 499
      StackMap locals: java.time.zone.ZoneRules java.time.Instant long
      StackMap stack:
            aload 0 /* this */
            getfield java.time.zone.ZoneRules.savingsInstantTransitions:[J
            lload 2 /* epochSec */
            invokestatic java.util.Arrays.binarySearch:([JJ)I
            istore 4 /* index */
        start local 4 // int index
        17: .line 500
            iload 4 /* index */
            ifge 19
        18: .line 502
            iload 4 /* index */
            ineg
            iconst_2
            isub
            istore 4 /* index */
        19: .line 504
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield java.time.zone.ZoneRules.wallOffsets:[Ljava/time/ZoneOffset;
            iload 4 /* index */
            iconst_1
            iadd
            aaload
            areturn
        end local 4 // int index
        end local 2 // long epochSec
        end local 1 // java.time.Instant instant
        end local 0 // java.time.zone.ZoneRules this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   20     0        this  Ljava/time/zone/ZoneRules;
            0   20     1     instant  Ljava/time/Instant;
            3   20     2    epochSec  J
            6   16     4        year  I
            7   16     5  transArray  [Ljava/time/zone/ZoneOffsetTransition;
            8   16     6       trans  Ljava/time/zone/ZoneOffsetTransition;
            9   15     7           i  I
           17   20     4       index  I
    MethodParameters:
         Name  Flags
      instant  

  public java.time.ZoneOffset getOffset(java.time.LocalDateTime);
    descriptor: (Ljava/time/LocalDateTime;)Ljava/time/ZoneOffset;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // java.time.zone.ZoneRules this
        start local 1 // java.time.LocalDateTime localDateTime
         0: .line 536
            aload 0 /* this */
            aload 1 /* localDateTime */
            invokevirtual java.time.zone.ZoneRules.getOffsetInfo:(Ljava/time/LocalDateTime;)Ljava/lang/Object;
            astore 2 /* info */
        start local 2 // java.lang.Object info
         1: .line 537
            aload 2 /* info */
            instanceof java.time.zone.ZoneOffsetTransition
            ifeq 3
         2: .line 538
            aload 2 /* info */
            checkcast java.time.zone.ZoneOffsetTransition
            invokevirtual java.time.zone.ZoneOffsetTransition.getOffsetBefore:()Ljava/time/ZoneOffset;
            areturn
         3: .line 540
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 2 /* info */
            checkcast java.time.ZoneOffset
            areturn
        end local 2 // java.lang.Object info
        end local 1 // java.time.LocalDateTime localDateTime
        end local 0 // java.time.zone.ZoneRules this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    4     0           this  Ljava/time/zone/ZoneRules;
            0    4     1  localDateTime  Ljava/time/LocalDateTime;
            1    4     2           info  Ljava/lang/Object;
    MethodParameters:
               Name  Flags
      localDateTime  

  public java.util.List<java.time.ZoneOffset> getValidOffsets(java.time.LocalDateTime);
    descriptor: (Ljava/time/LocalDateTime;)Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // java.time.zone.ZoneRules this
        start local 1 // java.time.LocalDateTime localDateTime
         0: .line 587
            aload 0 /* this */
            aload 1 /* localDateTime */
            invokevirtual java.time.zone.ZoneRules.getOffsetInfo:(Ljava/time/LocalDateTime;)Ljava/lang/Object;
            astore 2 /* info */
        start local 2 // java.lang.Object info
         1: .line 588
            aload 2 /* info */
            instanceof java.time.zone.ZoneOffsetTransition
            ifeq 3
         2: .line 589
            aload 2 /* info */
            checkcast java.time.zone.ZoneOffsetTransition
            invokevirtual java.time.zone.ZoneOffsetTransition.getValidOffsets:()Ljava/util/List;
            areturn
         3: .line 591
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 2 /* info */
            checkcast java.time.ZoneOffset
            invokestatic java.util.Collections.singletonList:(Ljava/lang/Object;)Ljava/util/List;
            areturn
        end local 2 // java.lang.Object info
        end local 1 // java.time.LocalDateTime localDateTime
        end local 0 // java.time.zone.ZoneRules this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    4     0           this  Ljava/time/zone/ZoneRules;
            0    4     1  localDateTime  Ljava/time/LocalDateTime;
            1    4     2           info  Ljava/lang/Object;
    Signature: (Ljava/time/LocalDateTime;)Ljava/util/List<Ljava/time/ZoneOffset;>;
    MethodParameters:
               Name  Flags
      localDateTime  

  public java.time.zone.ZoneOffsetTransition getTransition(java.time.LocalDateTime);
    descriptor: (Ljava/time/LocalDateTime;)Ljava/time/zone/ZoneOffsetTransition;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // java.time.zone.ZoneRules this
        start local 1 // java.time.LocalDateTime localDateTime
         0: .line 629
            aload 0 /* this */
            aload 1 /* localDateTime */
            invokevirtual java.time.zone.ZoneRules.getOffsetInfo:(Ljava/time/LocalDateTime;)Ljava/lang/Object;
            astore 2 /* info */
        start local 2 // java.lang.Object info
         1: .line 630
            aload 2 /* info */
            instanceof java.time.zone.ZoneOffsetTransition
            ifeq 2
            aload 2 /* info */
            checkcast java.time.zone.ZoneOffsetTransition
            goto 3
      StackMap locals: java.lang.Object
      StackMap stack:
         2: aconst_null
      StackMap locals:
      StackMap stack: java.time.zone.ZoneOffsetTransition
         3: areturn
        end local 2 // java.lang.Object info
        end local 1 // java.time.LocalDateTime localDateTime
        end local 0 // java.time.zone.ZoneRules this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    4     0           this  Ljava/time/zone/ZoneRules;
            0    4     1  localDateTime  Ljava/time/LocalDateTime;
            1    4     2           info  Ljava/lang/Object;
    MethodParameters:
               Name  Flags
      localDateTime  

  private java.lang.Object getOffsetInfo(java.time.LocalDateTime);
    descriptor: (Ljava/time/LocalDateTime;)Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=8, args_size=2
        start local 0 // java.time.zone.ZoneRules this
        start local 1 // java.time.LocalDateTime dt
         0: .line 634
            aload 0 /* this */
            getfield java.time.zone.ZoneRules.savingsInstantTransitions:[J
            arraylength
            ifne 2
         1: .line 635
            aload 0 /* this */
            getfield java.time.zone.ZoneRules.standardOffsets:[Ljava/time/ZoneOffset;
            iconst_0
            aaload
            areturn
         2: .line 638
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.time.zone.ZoneRules.lastRules:[Ljava/time/zone/ZoneOffsetTransitionRule;
            arraylength
            ifle 14
         3: .line 639
            aload 1 /* dt */
            aload 0 /* this */
            getfield java.time.zone.ZoneRules.savingsLocalTransitions:[Ljava/time/LocalDateTime;
            aload 0 /* this */
            getfield java.time.zone.ZoneRules.savingsLocalTransitions:[Ljava/time/LocalDateTime;
            arraylength
            iconst_1
            isub
            aaload
            invokevirtual java.time.LocalDateTime.isAfter:(Ljava/time/chrono/ChronoLocalDateTime;)Z
            ifeq 14
         4: .line 640
            aload 0 /* this */
            aload 1 /* dt */
            invokevirtual java.time.LocalDateTime.getYear:()I
            invokevirtual java.time.zone.ZoneRules.findTransitionArray:(I)[Ljava/time/zone/ZoneOffsetTransition;
            astore 2 /* transArray */
        start local 2 // java.time.zone.ZoneOffsetTransition[] transArray
         5: .line 641
            aconst_null
            astore 3 /* info */
        start local 3 // java.lang.Object info
         6: .line 642
            aload 2 /* transArray */
            dup
            astore 7
            arraylength
            istore 6
            iconst_0
            istore 5
            goto 12
      StackMap locals: java.time.zone.ZoneRules java.time.LocalDateTime java.time.zone.ZoneOffsetTransition[] java.lang.Object top int int java.time.zone.ZoneOffsetTransition[]
      StackMap stack:
         7: aload 7
            iload 5
            aaload
            astore 4 /* trans */
        start local 4 // java.time.zone.ZoneOffsetTransition trans
         8: .line 643
            aload 0 /* this */
            aload 1 /* dt */
            aload 4 /* trans */
            invokevirtual java.time.zone.ZoneRules.findOffsetInfo:(Ljava/time/LocalDateTime;Ljava/time/zone/ZoneOffsetTransition;)Ljava/lang/Object;
            astore 3 /* info */
         9: .line 644
            aload 3 /* info */
            instanceof java.time.zone.ZoneOffsetTransition
            ifne 10
            aload 3 /* info */
            aload 4 /* trans */
            invokevirtual java.time.zone.ZoneOffsetTransition.getOffsetBefore:()Ljava/time/ZoneOffset;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 11
        10: .line 645
      StackMap locals: java.time.zone.ZoneRules java.time.LocalDateTime java.time.zone.ZoneOffsetTransition[] java.lang.Object java.time.zone.ZoneOffsetTransition int int java.time.zone.ZoneOffsetTransition[]
      StackMap stack:
            aload 3 /* info */
            areturn
        end local 4 // java.time.zone.ZoneOffsetTransition trans
        11: .line 642
      StackMap locals: java.time.zone.ZoneRules java.time.LocalDateTime java.time.zone.ZoneOffsetTransition[] java.lang.Object top int int java.time.zone.ZoneOffsetTransition[]
      StackMap stack:
            iinc 5 1
      StackMap locals:
      StackMap stack:
        12: iload 5
            iload 6
            if_icmplt 7
        13: .line 648
            aload 3 /* info */
            areturn
        end local 3 // java.lang.Object info
        end local 2 // java.time.zone.ZoneOffsetTransition[] transArray
        14: .line 652
      StackMap locals: java.time.zone.ZoneRules java.time.LocalDateTime
      StackMap stack:
            aload 0 /* this */
            getfield java.time.zone.ZoneRules.savingsLocalTransitions:[Ljava/time/LocalDateTime;
            aload 1 /* dt */
            invokestatic java.util.Arrays.binarySearch:([Ljava/lang/Object;Ljava/lang/Object;)I
            istore 2 /* index */
        start local 2 // int index
        15: .line 653
            iload 2 /* index */
            iconst_m1
            if_icmpne 17
        16: .line 655
            aload 0 /* this */
            getfield java.time.zone.ZoneRules.wallOffsets:[Ljava/time/ZoneOffset;
            iconst_0
            aaload
            areturn
        17: .line 657
      StackMap locals: int
      StackMap stack:
            iload 2 /* index */
            ifge 20
        18: .line 659
            iload 2 /* index */
            ineg
            iconst_2
            isub
            istore 2 /* index */
        19: .line 660
            goto 23
      StackMap locals:
      StackMap stack:
        20: iload 2 /* index */
            aload 0 /* this */
            getfield java.time.zone.ZoneRules.savingsLocalTransitions:[Ljava/time/LocalDateTime;
            arraylength
            iconst_1
            isub
            if_icmpge 23
        21: .line 661
            aload 0 /* this */
            getfield java.time.zone.ZoneRules.savingsLocalTransitions:[Ljava/time/LocalDateTime;
            iload 2 /* index */
            aaload
            aload 0 /* this */
            getfield java.time.zone.ZoneRules.savingsLocalTransitions:[Ljava/time/LocalDateTime;
            iload 2 /* index */
            iconst_1
            iadd
            aaload
            invokevirtual java.time.LocalDateTime.equals:(Ljava/lang/Object;)Z
            ifeq 23
        22: .line 663
            iinc 2 /* index */ 1
        23: .line 665
      StackMap locals:
      StackMap stack:
            iload 2 /* index */
            iconst_1
            iand
            ifne 31
        24: .line 667
            aload 0 /* this */
            getfield java.time.zone.ZoneRules.savingsLocalTransitions:[Ljava/time/LocalDateTime;
            iload 2 /* index */
            aaload
            astore 3 /* dtBefore */
        start local 3 // java.time.LocalDateTime dtBefore
        25: .line 668
            aload 0 /* this */
            getfield java.time.zone.ZoneRules.savingsLocalTransitions:[Ljava/time/LocalDateTime;
            iload 2 /* index */
            iconst_1
            iadd
            aaload
            astore 4 /* dtAfter */
        start local 4 // java.time.LocalDateTime dtAfter
        26: .line 669
            aload 0 /* this */
            getfield java.time.zone.ZoneRules.wallOffsets:[Ljava/time/ZoneOffset;
            iload 2 /* index */
            iconst_2
            idiv
            aaload
            astore 5 /* offsetBefore */
        start local 5 // java.time.ZoneOffset offsetBefore
        27: .line 670
            aload 0 /* this */
            getfield java.time.zone.ZoneRules.wallOffsets:[Ljava/time/ZoneOffset;
            iload 2 /* index */
            iconst_2
            idiv
            iconst_1
            iadd
            aaload
            astore 6 /* offsetAfter */
        start local 6 // java.time.ZoneOffset offsetAfter
        28: .line 671
            aload 6 /* offsetAfter */
            invokevirtual java.time.ZoneOffset.getTotalSeconds:()I
            aload 5 /* offsetBefore */
            invokevirtual java.time.ZoneOffset.getTotalSeconds:()I
            if_icmple 30
        29: .line 673
            new java.time.zone.ZoneOffsetTransition
            dup
            aload 3 /* dtBefore */
            aload 5 /* offsetBefore */
            aload 6 /* offsetAfter */
            invokespecial java.time.zone.ZoneOffsetTransition.<init>:(Ljava/time/LocalDateTime;Ljava/time/ZoneOffset;Ljava/time/ZoneOffset;)V
            areturn
        30: .line 676
      StackMap locals: java.time.zone.ZoneRules java.time.LocalDateTime int java.time.LocalDateTime java.time.LocalDateTime java.time.ZoneOffset java.time.ZoneOffset
      StackMap stack:
            new java.time.zone.ZoneOffsetTransition
            dup
            aload 4 /* dtAfter */
            aload 5 /* offsetBefore */
            aload 6 /* offsetAfter */
            invokespecial java.time.zone.ZoneOffsetTransition.<init>:(Ljava/time/LocalDateTime;Ljava/time/ZoneOffset;Ljava/time/ZoneOffset;)V
            areturn
        end local 6 // java.time.ZoneOffset offsetAfter
        end local 5 // java.time.ZoneOffset offsetBefore
        end local 4 // java.time.LocalDateTime dtAfter
        end local 3 // java.time.LocalDateTime dtBefore
        31: .line 680
      StackMap locals: java.time.zone.ZoneRules java.time.LocalDateTime int
      StackMap stack:
            aload 0 /* this */
            getfield java.time.zone.ZoneRules.wallOffsets:[Ljava/time/ZoneOffset;
            iload 2 /* index */
            iconst_2
            idiv
            iconst_1
            iadd
            aaload
            areturn
        end local 2 // int index
        end local 1 // java.time.LocalDateTime dt
        end local 0 // java.time.zone.ZoneRules this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   32     0          this  Ljava/time/zone/ZoneRules;
            0   32     1            dt  Ljava/time/LocalDateTime;
            5   14     2    transArray  [Ljava/time/zone/ZoneOffsetTransition;
            6   14     3          info  Ljava/lang/Object;
            8   11     4         trans  Ljava/time/zone/ZoneOffsetTransition;
           15   32     2         index  I
           25   31     3      dtBefore  Ljava/time/LocalDateTime;
           26   31     4       dtAfter  Ljava/time/LocalDateTime;
           27   31     5  offsetBefore  Ljava/time/ZoneOffset;
           28   31     6   offsetAfter  Ljava/time/ZoneOffset;
    MethodParameters:
      Name  Flags
      dt    

  private java.lang.Object findOffsetInfo(java.time.LocalDateTime, java.time.zone.ZoneOffsetTransition);
    descriptor: (Ljava/time/LocalDateTime;Ljava/time/zone/ZoneOffsetTransition;)Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // java.time.zone.ZoneRules this
        start local 1 // java.time.LocalDateTime dt
        start local 2 // java.time.zone.ZoneOffsetTransition trans
         0: .line 692
            aload 2 /* trans */
            invokevirtual java.time.zone.ZoneOffsetTransition.getDateTimeBefore:()Ljava/time/LocalDateTime;
            astore 3 /* localTransition */
        start local 3 // java.time.LocalDateTime localTransition
         1: .line 693
            aload 2 /* trans */
            invokevirtual java.time.zone.ZoneOffsetTransition.isGap:()Z
            ifeq 7
         2: .line 694
            aload 1 /* dt */
            aload 3 /* localTransition */
            invokevirtual java.time.LocalDateTime.isBefore:(Ljava/time/chrono/ChronoLocalDateTime;)Z
            ifeq 4
         3: .line 695
            aload 2 /* trans */
            invokevirtual java.time.zone.ZoneOffsetTransition.getOffsetBefore:()Ljava/time/ZoneOffset;
            areturn
         4: .line 697
      StackMap locals: java.time.LocalDateTime
      StackMap stack:
            aload 1 /* dt */
            aload 2 /* trans */
            invokevirtual java.time.zone.ZoneOffsetTransition.getDateTimeAfter:()Ljava/time/LocalDateTime;
            invokevirtual java.time.LocalDateTime.isBefore:(Ljava/time/chrono/ChronoLocalDateTime;)Z
            ifeq 6
         5: .line 698
            aload 2 /* trans */
            areturn
         6: .line 700
      StackMap locals:
      StackMap stack:
            aload 2 /* trans */
            invokevirtual java.time.zone.ZoneOffsetTransition.getOffsetAfter:()Ljava/time/ZoneOffset;
            areturn
         7: .line 703
      StackMap locals:
      StackMap stack:
            aload 1 /* dt */
            aload 3 /* localTransition */
            invokevirtual java.time.LocalDateTime.isBefore:(Ljava/time/chrono/ChronoLocalDateTime;)Z
            ifne 9
         8: .line 704
            aload 2 /* trans */
            invokevirtual java.time.zone.ZoneOffsetTransition.getOffsetAfter:()Ljava/time/ZoneOffset;
            areturn
         9: .line 706
      StackMap locals:
      StackMap stack:
            aload 1 /* dt */
            aload 2 /* trans */
            invokevirtual java.time.zone.ZoneOffsetTransition.getDateTimeAfter:()Ljava/time/LocalDateTime;
            invokevirtual java.time.LocalDateTime.isBefore:(Ljava/time/chrono/ChronoLocalDateTime;)Z
            ifeq 11
        10: .line 707
            aload 2 /* trans */
            invokevirtual java.time.zone.ZoneOffsetTransition.getOffsetBefore:()Ljava/time/ZoneOffset;
            areturn
        11: .line 709
      StackMap locals:
      StackMap stack:
            aload 2 /* trans */
            areturn
        end local 3 // java.time.LocalDateTime localTransition
        end local 2 // java.time.zone.ZoneOffsetTransition trans
        end local 1 // java.time.LocalDateTime dt
        end local 0 // java.time.zone.ZoneRules this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   12     0             this  Ljava/time/zone/ZoneRules;
            0   12     1               dt  Ljava/time/LocalDateTime;
            0   12     2            trans  Ljava/time/zone/ZoneOffsetTransition;
            1   12     3  localTransition  Ljava/time/LocalDateTime;
    MethodParameters:
       Name  Flags
      dt     
      trans  

  private java.time.zone.ZoneOffsetTransition[] findTransitionArray(int);
    descriptor: (I)[Ljava/time/zone/ZoneOffsetTransition;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=6, args_size=2
        start local 0 // java.time.zone.ZoneRules this
        start local 1 // int year
         0: .line 721
            iload 1 /* year */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            astore 2 /* yearObj */
        start local 2 // java.lang.Integer yearObj
         1: .line 722
            aload 0 /* this */
            getfield java.time.zone.ZoneRules.lastRulesCache:Ljava/util/concurrent/ConcurrentMap;
            aload 2 /* yearObj */
            invokeinterface java.util.concurrent.ConcurrentMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.time.zone.ZoneOffsetTransition[]
            astore 3 /* transArray */
        start local 3 // java.time.zone.ZoneOffsetTransition[] transArray
         2: .line 723
            aload 3 /* transArray */
            ifnull 4
         3: .line 724
            aload 3 /* transArray */
            areturn
         4: .line 726
      StackMap locals: java.lang.Integer java.time.zone.ZoneOffsetTransition[]
      StackMap stack:
            aload 0 /* this */
            getfield java.time.zone.ZoneRules.lastRules:[Ljava/time/zone/ZoneOffsetTransitionRule;
            astore 4 /* ruleArray */
        start local 4 // java.time.zone.ZoneOffsetTransitionRule[] ruleArray
         5: .line 727
            aload 4 /* ruleArray */
            arraylength
            anewarray java.time.zone.ZoneOffsetTransition
            astore 3 /* transArray */
         6: .line 728
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         7: goto 10
         8: .line 729
      StackMap locals: java.time.zone.ZoneOffsetTransitionRule[] int
      StackMap stack:
            aload 3 /* transArray */
            iload 5 /* i */
            aload 4 /* ruleArray */
            iload 5 /* i */
            aaload
            iload 1 /* year */
            invokevirtual java.time.zone.ZoneOffsetTransitionRule.createTransition:(I)Ljava/time/zone/ZoneOffsetTransition;
            aastore
         9: .line 728
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        10: iload 5 /* i */
            aload 4 /* ruleArray */
            arraylength
            if_icmplt 8
        end local 5 // int i
        11: .line 731
            iload 1 /* year */
            sipush 2100
            if_icmpge 13
        12: .line 732
            aload 0 /* this */
            getfield java.time.zone.ZoneRules.lastRulesCache:Ljava/util/concurrent/ConcurrentMap;
            aload 2 /* yearObj */
            aload 3 /* transArray */
            invokeinterface java.util.concurrent.ConcurrentMap.putIfAbsent:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        13: .line 734
      StackMap locals:
      StackMap stack:
            aload 3 /* transArray */
            areturn
        end local 4 // java.time.zone.ZoneOffsetTransitionRule[] ruleArray
        end local 3 // java.time.zone.ZoneOffsetTransition[] transArray
        end local 2 // java.lang.Integer yearObj
        end local 1 // int year
        end local 0 // java.time.zone.ZoneRules this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   14     0        this  Ljava/time/zone/ZoneRules;
            0   14     1        year  I
            1   14     2     yearObj  Ljava/lang/Integer;
            2   14     3  transArray  [Ljava/time/zone/ZoneOffsetTransition;
            5   14     4   ruleArray  [Ljava/time/zone/ZoneOffsetTransitionRule;
            7   11     5           i  I
    MethodParameters:
      Name  Flags
      year  

  public java.time.ZoneOffset getStandardOffset(java.time.Instant);
    descriptor: (Ljava/time/Instant;)Ljava/time/ZoneOffset;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // java.time.zone.ZoneRules this
        start local 1 // java.time.Instant instant
         0: .line 750
            aload 0 /* this */
            getfield java.time.zone.ZoneRules.savingsInstantTransitions:[J
            arraylength
            ifne 2
         1: .line 751
            aload 0 /* this */
            getfield java.time.zone.ZoneRules.standardOffsets:[Ljava/time/ZoneOffset;
            iconst_0
            aaload
            areturn
         2: .line 753
      StackMap locals:
      StackMap stack:
            aload 1 /* instant */
            invokevirtual java.time.Instant.getEpochSecond:()J
            lstore 2 /* epochSec */
        start local 2 // long epochSec
         3: .line 754
            aload 0 /* this */
            getfield java.time.zone.ZoneRules.standardTransitions:[J
            lload 2 /* epochSec */
            invokestatic java.util.Arrays.binarySearch:([JJ)I
            istore 4 /* index */
        start local 4 // int index
         4: .line 755
            iload 4 /* index */
            ifge 6
         5: .line 757
            iload 4 /* index */
            ineg
            iconst_2
            isub
            istore 4 /* index */
         6: .line 759
      StackMap locals: long int
      StackMap stack:
            aload 0 /* this */
            getfield java.time.zone.ZoneRules.standardOffsets:[Ljava/time/ZoneOffset;
            iload 4 /* index */
            iconst_1
            iadd
            aaload
            areturn
        end local 4 // int index
        end local 2 // long epochSec
        end local 1 // java.time.Instant instant
        end local 0 // java.time.zone.ZoneRules this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0      this  Ljava/time/zone/ZoneRules;
            0    7     1   instant  Ljava/time/Instant;
            3    7     2  epochSec  J
            4    7     4     index  I
    MethodParameters:
         Name  Flags
      instant  

  public java.time.Duration getDaylightSavings(java.time.Instant);
    descriptor: (Ljava/time/Instant;)Ljava/time/Duration;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // java.time.zone.ZoneRules this
        start local 1 // java.time.Instant instant
         0: .line 780
            aload 0 /* this */
            getfield java.time.zone.ZoneRules.savingsInstantTransitions:[J
            arraylength
            ifne 2
         1: .line 781
            getstatic java.time.Duration.ZERO:Ljava/time/Duration;
            areturn
         2: .line 783
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* instant */
            invokevirtual java.time.zone.ZoneRules.getStandardOffset:(Ljava/time/Instant;)Ljava/time/ZoneOffset;
            astore 2 /* standardOffset */
        start local 2 // java.time.ZoneOffset standardOffset
         3: .line 784
            aload 0 /* this */
            aload 1 /* instant */
            invokevirtual java.time.zone.ZoneRules.getOffset:(Ljava/time/Instant;)Ljava/time/ZoneOffset;
            astore 3 /* actualOffset */
        start local 3 // java.time.ZoneOffset actualOffset
         4: .line 785
            aload 3 /* actualOffset */
            invokevirtual java.time.ZoneOffset.getTotalSeconds:()I
            aload 2 /* standardOffset */
            invokevirtual java.time.ZoneOffset.getTotalSeconds:()I
            isub
            i2l
            invokestatic java.time.Duration.ofSeconds:(J)Ljava/time/Duration;
            areturn
        end local 3 // java.time.ZoneOffset actualOffset
        end local 2 // java.time.ZoneOffset standardOffset
        end local 1 // java.time.Instant instant
        end local 0 // java.time.zone.ZoneRules this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    5     0            this  Ljava/time/zone/ZoneRules;
            0    5     1         instant  Ljava/time/Instant;
            3    5     2  standardOffset  Ljava/time/ZoneOffset;
            4    5     3    actualOffset  Ljava/time/ZoneOffset;
    MethodParameters:
         Name  Flags
      instant  

  public boolean isDaylightSavings(java.time.Instant);
    descriptor: (Ljava/time/Instant;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.time.zone.ZoneRules this
        start local 1 // java.time.Instant instant
         0: .line 803
            aload 0 /* this */
            aload 1 /* instant */
            invokevirtual java.time.zone.ZoneRules.getStandardOffset:(Ljava/time/Instant;)Ljava/time/ZoneOffset;
            aload 0 /* this */
            aload 1 /* instant */
            invokevirtual java.time.zone.ZoneRules.getOffset:(Ljava/time/Instant;)Ljava/time/ZoneOffset;
            invokevirtual java.time.ZoneOffset.equals:(Ljava/lang/Object;)Z
            ifeq 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 1 // java.time.Instant instant
        end local 0 // java.time.zone.ZoneRules this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Ljava/time/zone/ZoneRules;
            0    2     1  instant  Ljava/time/Instant;
    MethodParameters:
         Name  Flags
      instant  

  public boolean isValidOffset(java.time.LocalDateTime, java.time.ZoneOffset);
    descriptor: (Ljava/time/LocalDateTime;Ljava/time/ZoneOffset;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // java.time.zone.ZoneRules this
        start local 1 // java.time.LocalDateTime localDateTime
        start local 2 // java.time.ZoneOffset offset
         0: .line 821
            aload 0 /* this */
            aload 1 /* localDateTime */
            invokevirtual java.time.zone.ZoneRules.getValidOffsets:(Ljava/time/LocalDateTime;)Ljava/util/List;
            aload 2 /* offset */
            invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
            ireturn
        end local 2 // java.time.ZoneOffset offset
        end local 1 // java.time.LocalDateTime localDateTime
        end local 0 // java.time.zone.ZoneRules this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    1     0           this  Ljava/time/zone/ZoneRules;
            0    1     1  localDateTime  Ljava/time/LocalDateTime;
            0    1     2         offset  Ljava/time/ZoneOffset;
    MethodParameters:
               Name  Flags
      localDateTime  
      offset         

  public java.time.zone.ZoneOffsetTransition nextTransition(java.time.Instant);
    descriptor: (Ljava/time/Instant;)Ljava/time/zone/ZoneOffsetTransition;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=10, args_size=2
        start local 0 // java.time.zone.ZoneRules this
        start local 1 // java.time.Instant instant
         0: .line 836
            aload 0 /* this */
            getfield java.time.zone.ZoneRules.savingsInstantTransitions:[J
            arraylength
            ifne 2
         1: .line 837
            aconst_null
            areturn
         2: .line 839
      StackMap locals:
      StackMap stack:
            aload 1 /* instant */
            invokevirtual java.time.Instant.getEpochSecond:()J
            lstore 2 /* epochSec */
        start local 2 // long epochSec
         3: .line 841
            lload 2 /* epochSec */
            aload 0 /* this */
            getfield java.time.zone.ZoneRules.savingsInstantTransitions:[J
            aload 0 /* this */
            getfield java.time.zone.ZoneRules.savingsInstantTransitions:[J
            arraylength
            iconst_1
            isub
            laload
            lcmp
            iflt 18
         4: .line 842
            aload 0 /* this */
            getfield java.time.zone.ZoneRules.lastRules:[Ljava/time/zone/ZoneOffsetTransitionRule;
            arraylength
            ifne 6
         5: .line 843
            aconst_null
            areturn
         6: .line 846
      StackMap locals: long
      StackMap stack:
            aload 0 /* this */
            lload 2 /* epochSec */
            aload 0 /* this */
            getfield java.time.zone.ZoneRules.wallOffsets:[Ljava/time/ZoneOffset;
            aload 0 /* this */
            getfield java.time.zone.ZoneRules.wallOffsets:[Ljava/time/ZoneOffset;
            arraylength
            iconst_1
            isub
            aaload
            invokevirtual java.time.zone.ZoneRules.findYear:(JLjava/time/ZoneOffset;)I
            istore 4 /* year */
        start local 4 // int year
         7: .line 847
            aload 0 /* this */
            iload 4 /* year */
            invokevirtual java.time.zone.ZoneRules.findTransitionArray:(I)[Ljava/time/zone/ZoneOffsetTransition;
            astore 5 /* transArray */
        start local 5 // java.time.zone.ZoneOffsetTransition[] transArray
         8: .line 848
            aload 5 /* transArray */
            dup
            astore 9
            arraylength
            istore 8
            iconst_0
            istore 7
            goto 13
      StackMap locals: java.time.zone.ZoneRules java.time.Instant long int java.time.zone.ZoneOffsetTransition[] top int int java.time.zone.ZoneOffsetTransition[]
      StackMap stack:
         9: aload 9
            iload 7
            aaload
            astore 6 /* trans */
        start local 6 // java.time.zone.ZoneOffsetTransition trans
        10: .line 849
            lload 2 /* epochSec */
            aload 6 /* trans */
            invokevirtual java.time.zone.ZoneOffsetTransition.toEpochSecond:()J
            lcmp
            ifge 12
        11: .line 850
            aload 6 /* trans */
            areturn
        end local 6 // java.time.zone.ZoneOffsetTransition trans
        12: .line 848
      StackMap locals:
      StackMap stack:
            iinc 7 1
      StackMap locals:
      StackMap stack:
        13: iload 7
            iload 8
            if_icmplt 9
        14: .line 854
            iload 4 /* year */
            ldc 999999999
            if_icmpge 17
        15: .line 855
            aload 0 /* this */
            iload 4 /* year */
            iconst_1
            iadd
            invokevirtual java.time.zone.ZoneRules.findTransitionArray:(I)[Ljava/time/zone/ZoneOffsetTransition;
            astore 5 /* transArray */
        16: .line 856
            aload 5 /* transArray */
            iconst_0
            aaload
            areturn
        17: .line 858
      StackMap locals: java.time.zone.ZoneRules java.time.Instant long int java.time.zone.ZoneOffsetTransition[]
      StackMap stack:
            aconst_null
            areturn
        end local 5 // java.time.zone.ZoneOffsetTransition[] transArray
        end local 4 // int year
        18: .line 862
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.time.zone.ZoneRules.savingsInstantTransitions:[J
            lload 2 /* epochSec */
            invokestatic java.util.Arrays.binarySearch:([JJ)I
            istore 4 /* index */
        start local 4 // int index
        19: .line 863
            iload 4 /* index */
            ifge 22
        20: .line 864
            iload 4 /* index */
            ineg
            iconst_1
            isub
            istore 4 /* index */
        21: .line 865
            goto 23
        22: .line 866
      StackMap locals: int
      StackMap stack:
            iinc 4 /* index */ 1
        23: .line 868
      StackMap locals:
      StackMap stack:
            new java.time.zone.ZoneOffsetTransition
            dup
            aload 0 /* this */
            getfield java.time.zone.ZoneRules.savingsInstantTransitions:[J
            iload 4 /* index */
            laload
            aload 0 /* this */
            getfield java.time.zone.ZoneRules.wallOffsets:[Ljava/time/ZoneOffset;
            iload 4 /* index */
            aaload
            aload 0 /* this */
            getfield java.time.zone.ZoneRules.wallOffsets:[Ljava/time/ZoneOffset;
            iload 4 /* index */
            iconst_1
            iadd
            aaload
            invokespecial java.time.zone.ZoneOffsetTransition.<init>:(JLjava/time/ZoneOffset;Ljava/time/ZoneOffset;)V
            areturn
        end local 4 // int index
        end local 2 // long epochSec
        end local 1 // java.time.Instant instant
        end local 0 // java.time.zone.ZoneRules this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   24     0        this  Ljava/time/zone/ZoneRules;
            0   24     1     instant  Ljava/time/Instant;
            3   24     2    epochSec  J
            7   18     4        year  I
            8   18     5  transArray  [Ljava/time/zone/ZoneOffsetTransition;
           10   12     6       trans  Ljava/time/zone/ZoneOffsetTransition;
           19   24     4       index  I
    MethodParameters:
         Name  Flags
      instant  

  public java.time.zone.ZoneOffsetTransition previousTransition(java.time.Instant);
    descriptor: (Ljava/time/Instant;)Ljava/time/zone/ZoneOffsetTransition;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=10, args_size=2
        start local 0 // java.time.zone.ZoneRules this
        start local 1 // java.time.Instant instant
         0: .line 883
            aload 0 /* this */
            getfield java.time.zone.ZoneRules.savingsInstantTransitions:[J
            arraylength
            ifne 2
         1: .line 884
            aconst_null
            areturn
         2: .line 886
      StackMap locals:
      StackMap stack:
            aload 1 /* instant */
            invokevirtual java.time.Instant.getEpochSecond:()J
            lstore 2 /* epochSec */
        start local 2 // long epochSec
         3: .line 887
            aload 1 /* instant */
            invokevirtual java.time.Instant.getNano:()I
            ifle 5
            lload 2 /* epochSec */
            ldc 9223372036854775807
            lcmp
            ifge 5
         4: .line 888
            lload 2 /* epochSec */
            lconst_1
            ladd
            lstore 2 /* epochSec */
         5: .line 892
      StackMap locals: long
      StackMap stack:
            aload 0 /* this */
            getfield java.time.zone.ZoneRules.savingsInstantTransitions:[J
            aload 0 /* this */
            getfield java.time.zone.ZoneRules.savingsInstantTransitions:[J
            arraylength
            iconst_1
            isub
            laload
            lstore 4 /* lastHistoric */
        start local 4 // long lastHistoric
         6: .line 893
            aload 0 /* this */
            getfield java.time.zone.ZoneRules.lastRules:[Ljava/time/zone/ZoneOffsetTransitionRule;
            arraylength
            ifle 20
            lload 2 /* epochSec */
            lload 4 /* lastHistoric */
            lcmp
            ifle 20
         7: .line 895
            aload 0 /* this */
            getfield java.time.zone.ZoneRules.wallOffsets:[Ljava/time/ZoneOffset;
            aload 0 /* this */
            getfield java.time.zone.ZoneRules.wallOffsets:[Ljava/time/ZoneOffset;
            arraylength
            iconst_1
            isub
            aaload
            astore 6 /* lastHistoricOffset */
        start local 6 // java.time.ZoneOffset lastHistoricOffset
         8: .line 896
            aload 0 /* this */
            lload 2 /* epochSec */
            aload 6 /* lastHistoricOffset */
            invokevirtual java.time.zone.ZoneRules.findYear:(JLjava/time/ZoneOffset;)I
            istore 7 /* year */
        start local 7 // int year
         9: .line 897
            aload 0 /* this */
            iload 7 /* year */
            invokevirtual java.time.zone.ZoneRules.findTransitionArray:(I)[Ljava/time/zone/ZoneOffsetTransition;
            astore 8 /* transArray */
        start local 8 // java.time.zone.ZoneOffsetTransition[] transArray
        10: .line 898
            aload 8 /* transArray */
            arraylength
            iconst_1
            isub
            istore 9 /* i */
        start local 9 // int i
        11: goto 15
        12: .line 899
      StackMap locals: java.time.zone.ZoneRules java.time.Instant long long java.time.ZoneOffset int java.time.zone.ZoneOffsetTransition[] int
      StackMap stack:
            lload 2 /* epochSec */
            aload 8 /* transArray */
            iload 9 /* i */
            aaload
            invokevirtual java.time.zone.ZoneOffsetTransition.toEpochSecond:()J
            lcmp
            ifle 14
        13: .line 900
            aload 8 /* transArray */
            iload 9 /* i */
            aaload
            areturn
        14: .line 898
      StackMap locals:
      StackMap stack:
            iinc 9 /* i */ -1
      StackMap locals:
      StackMap stack:
        15: iload 9 /* i */
            ifge 12
        end local 9 // int i
        16: .line 904
            aload 0 /* this */
            lload 4 /* lastHistoric */
            aload 6 /* lastHistoricOffset */
            invokevirtual java.time.zone.ZoneRules.findYear:(JLjava/time/ZoneOffset;)I
            istore 9 /* lastHistoricYear */
        start local 9 // int lastHistoricYear
        17: .line 905
            iinc 7 /* year */ -1
            iload 7 /* year */
            iload 9 /* lastHistoricYear */
            if_icmple 20
        18: .line 906
            aload 0 /* this */
            iload 7 /* year */
            invokevirtual java.time.zone.ZoneRules.findTransitionArray:(I)[Ljava/time/zone/ZoneOffsetTransition;
            astore 8 /* transArray */
        19: .line 907
            aload 8 /* transArray */
            aload 8 /* transArray */
            arraylength
            iconst_1
            isub
            aaload
            areturn
        end local 9 // int lastHistoricYear
        end local 8 // java.time.zone.ZoneOffsetTransition[] transArray
        end local 7 // int year
        end local 6 // java.time.ZoneOffset lastHistoricOffset
        20: .line 913
      StackMap locals: java.time.zone.ZoneRules java.time.Instant long long
      StackMap stack:
            aload 0 /* this */
            getfield java.time.zone.ZoneRules.savingsInstantTransitions:[J
            lload 2 /* epochSec */
            invokestatic java.util.Arrays.binarySearch:([JJ)I
            istore 6 /* index */
        start local 6 // int index
        21: .line 914
            iload 6 /* index */
            ifge 23
        22: .line 915
            iload 6 /* index */
            ineg
            iconst_1
            isub
            istore 6 /* index */
        23: .line 917
      StackMap locals: int
      StackMap stack:
            iload 6 /* index */
            ifgt 25
        24: .line 918
            aconst_null
            areturn
        25: .line 920
      StackMap locals:
      StackMap stack:
            new java.time.zone.ZoneOffsetTransition
            dup
            aload 0 /* this */
            getfield java.time.zone.ZoneRules.savingsInstantTransitions:[J
            iload 6 /* index */
            iconst_1
            isub
            laload
            aload 0 /* this */
            getfield java.time.zone.ZoneRules.wallOffsets:[Ljava/time/ZoneOffset;
            iload 6 /* index */
            iconst_1
            isub
            aaload
            aload 0 /* this */
            getfield java.time.zone.ZoneRules.wallOffsets:[Ljava/time/ZoneOffset;
            iload 6 /* index */
            aaload
            invokespecial java.time.zone.ZoneOffsetTransition.<init>:(JLjava/time/ZoneOffset;Ljava/time/ZoneOffset;)V
            areturn
        end local 6 // int index
        end local 4 // long lastHistoric
        end local 2 // long epochSec
        end local 1 // java.time.Instant instant
        end local 0 // java.time.zone.ZoneRules this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   26     0                this  Ljava/time/zone/ZoneRules;
            0   26     1             instant  Ljava/time/Instant;
            3   26     2            epochSec  J
            6   26     4        lastHistoric  J
            8   20     6  lastHistoricOffset  Ljava/time/ZoneOffset;
            9   20     7                year  I
           10   20     8          transArray  [Ljava/time/zone/ZoneOffsetTransition;
           11   16     9                   i  I
           17   20     9    lastHistoricYear  I
           21   26     6               index  I
    MethodParameters:
         Name  Flags
      instant  

  private int findYear(long, java.time.ZoneOffset);
    descriptor: (JLjava/time/ZoneOffset;)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=8, args_size=3
        start local 0 // java.time.zone.ZoneRules this
        start local 1 // long epochSecond
        start local 3 // java.time.ZoneOffset offset
         0: .line 925
            lload 1 /* epochSecond */
            aload 3 /* offset */
            invokevirtual java.time.ZoneOffset.getTotalSeconds:()I
            i2l
            ladd
            lstore 4 /* localSecond */
        start local 4 // long localSecond
         1: .line 926
            lload 4 /* localSecond */
            ldc 86400
            invokestatic java.lang.Math.floorDiv:(JI)J
            lstore 6 /* localEpochDay */
        start local 6 // long localEpochDay
         2: .line 927
            lload 6 /* localEpochDay */
            invokestatic java.time.LocalDate.ofEpochDay:(J)Ljava/time/LocalDate;
            invokevirtual java.time.LocalDate.getYear:()I
            ireturn
        end local 6 // long localEpochDay
        end local 4 // long localSecond
        end local 3 // java.time.ZoneOffset offset
        end local 1 // long epochSecond
        end local 0 // java.time.zone.ZoneRules this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    3     0           this  Ljava/time/zone/ZoneRules;
            0    3     1    epochSecond  J
            0    3     3         offset  Ljava/time/ZoneOffset;
            1    3     4    localSecond  J
            2    3     6  localEpochDay  J
    MethodParameters:
             Name  Flags
      epochSecond  
      offset       

  public java.util.List<java.time.zone.ZoneOffsetTransition> getTransitions();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=3, args_size=1
        start local 0 // java.time.zone.ZoneRules this
         0: .line 943
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 1 /* list */
        start local 1 // java.util.List list
         1: .line 944
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: goto 5
         3: .line 945
      StackMap locals: java.util.List int
      StackMap stack:
            aload 1 /* list */
            new java.time.zone.ZoneOffsetTransition
            dup
            aload 0 /* this */
            getfield java.time.zone.ZoneRules.savingsInstantTransitions:[J
            iload 2 /* i */
            laload
            aload 0 /* this */
            getfield java.time.zone.ZoneRules.wallOffsets:[Ljava/time/ZoneOffset;
            iload 2 /* i */
            aaload
            aload 0 /* this */
            getfield java.time.zone.ZoneRules.wallOffsets:[Ljava/time/ZoneOffset;
            iload 2 /* i */
            iconst_1
            iadd
            aaload
            invokespecial java.time.zone.ZoneOffsetTransition.<init>:(JLjava/time/ZoneOffset;Ljava/time/ZoneOffset;)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         4: .line 944
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 2 /* i */
            aload 0 /* this */
            getfield java.time.zone.ZoneRules.savingsInstantTransitions:[J
            arraylength
            if_icmplt 3
        end local 2 // int i
         6: .line 947
            aload 1 /* list */
            invokestatic java.util.Collections.unmodifiableList:(Ljava/util/List;)Ljava/util/List;
            areturn
        end local 1 // java.util.List list
        end local 0 // java.time.zone.ZoneRules this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Ljava/time/zone/ZoneRules;
            1    7     1  list  Ljava/util/List<Ljava/time/zone/ZoneOffsetTransition;>;
            2    6     2     i  I
    Signature: ()Ljava/util/List<Ljava/time/zone/ZoneOffsetTransition;>;

  public java.util.List<java.time.zone.ZoneOffsetTransitionRule> getTransitionRules();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.time.zone.ZoneRules this
         0: .line 972
            aload 0 /* this */
            getfield java.time.zone.ZoneRules.lastRules:[Ljava/time/zone/ZoneOffsetTransitionRule;
            invokestatic java.util.List.of:([Ljava/lang/Object;)Ljava/util/List;
            areturn
        end local 0 // java.time.zone.ZoneRules this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/time/zone/ZoneRules;
    Signature: ()Ljava/util/List<Ljava/time/zone/ZoneOffsetTransitionRule;>;

  public boolean equals(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // java.time.zone.ZoneRules this
        start local 1 // java.lang.Object otherRules
         0: .line 989
            aload 0 /* this */
            aload 1 /* otherRules */
            if_acmpne 2
         1: .line 990
            iconst_1
            ireturn
         2: .line 992
      StackMap locals:
      StackMap stack:
            aload 1 /* otherRules */
            instanceof java.time.zone.ZoneRules
            ifeq 11
         3: .line 993
            aload 1 /* otherRules */
            checkcast java.time.zone.ZoneRules
            astore 2 /* other */
        start local 2 // java.time.zone.ZoneRules other
         4: .line 994
            aload 0 /* this */
            getfield java.time.zone.ZoneRules.standardTransitions:[J
            aload 2 /* other */
            getfield java.time.zone.ZoneRules.standardTransitions:[J
            invokestatic java.util.Arrays.equals:([J[J)Z
            ifeq 10
         5: .line 995
            aload 0 /* this */
            getfield java.time.zone.ZoneRules.standardOffsets:[Ljava/time/ZoneOffset;
            aload 2 /* other */
            getfield java.time.zone.ZoneRules.standardOffsets:[Ljava/time/ZoneOffset;
            invokestatic java.util.Arrays.equals:([Ljava/lang/Object;[Ljava/lang/Object;)Z
            ifeq 10
         6: .line 996
            aload 0 /* this */
            getfield java.time.zone.ZoneRules.savingsInstantTransitions:[J
            aload 2 /* other */
            getfield java.time.zone.ZoneRules.savingsInstantTransitions:[J
            invokestatic java.util.Arrays.equals:([J[J)Z
            ifeq 10
         7: .line 997
            aload 0 /* this */
            getfield java.time.zone.ZoneRules.wallOffsets:[Ljava/time/ZoneOffset;
            aload 2 /* other */
            getfield java.time.zone.ZoneRules.wallOffsets:[Ljava/time/ZoneOffset;
            invokestatic java.util.Arrays.equals:([Ljava/lang/Object;[Ljava/lang/Object;)Z
            ifeq 10
         8: .line 998
            aload 0 /* this */
            getfield java.time.zone.ZoneRules.lastRules:[Ljava/time/zone/ZoneOffsetTransitionRule;
            aload 2 /* other */
            getfield java.time.zone.ZoneRules.lastRules:[Ljava/time/zone/ZoneOffsetTransitionRule;
            invokestatic java.util.Arrays.equals:([Ljava/lang/Object;[Ljava/lang/Object;)Z
            ifeq 10
         9: .line 994
            iconst_1
            ireturn
      StackMap locals: java.time.zone.ZoneRules
      StackMap stack:
        10: iconst_0
            ireturn
        end local 2 // java.time.zone.ZoneRules other
        11: .line 1000
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // java.lang.Object otherRules
        end local 0 // java.time.zone.ZoneRules this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   12     0        this  Ljava/time/zone/ZoneRules;
            0   12     1  otherRules  Ljava/lang/Object;
            4   11     2       other  Ljava/time/zone/ZoneRules;
    MethodParameters:
            Name  Flags
      otherRules  

  public int hashCode();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.time.zone.ZoneRules this
         0: .line 1010
            aload 0 /* this */
            getfield java.time.zone.ZoneRules.standardTransitions:[J
            invokestatic java.util.Arrays.hashCode:([J)I
         1: .line 1011
            aload 0 /* this */
            getfield java.time.zone.ZoneRules.standardOffsets:[Ljava/time/ZoneOffset;
            invokestatic java.util.Arrays.hashCode:([Ljava/lang/Object;)I
         2: .line 1010
            ixor
         3: .line 1012
            aload 0 /* this */
            getfield java.time.zone.ZoneRules.savingsInstantTransitions:[J
            invokestatic java.util.Arrays.hashCode:([J)I
         4: .line 1010
            ixor
         5: .line 1013
            aload 0 /* this */
            getfield java.time.zone.ZoneRules.wallOffsets:[Ljava/time/ZoneOffset;
            invokestatic java.util.Arrays.hashCode:([Ljava/lang/Object;)I
         6: .line 1010
            ixor
         7: .line 1014
            aload 0 /* this */
            getfield java.time.zone.ZoneRules.lastRules:[Ljava/time/zone/ZoneOffsetTransitionRule;
            invokestatic java.util.Arrays.hashCode:([Ljava/lang/Object;)I
         8: .line 1010
            ixor
            ireturn
        end local 0 // java.time.zone.ZoneRules this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Ljava/time/zone/ZoneRules;

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // java.time.zone.ZoneRules this
         0: .line 1024
            new java.lang.StringBuilder
            dup
            ldc "ZoneRules[currentStandardOffset="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield java.time.zone.ZoneRules.standardOffsets:[Ljava/time/ZoneOffset;
            aload 0 /* this */
            getfield java.time.zone.ZoneRules.standardOffsets:[Ljava/time/ZoneOffset;
            arraylength
            iconst_1
            isub
            aaload
            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;
            areturn
        end local 0 // java.time.zone.ZoneRules this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/time/zone/ZoneRules;
}
SourceFile: "ZoneRules.java"