public final class jdk.internal.org.jline.terminal.TerminalBuilder
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: jdk.internal.org.jline.terminal.TerminalBuilder
  super_class: java.lang.Object
{
  public static final java.lang.String PROP_ENCODING;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "org.jline.terminal.encoding"

  public static final java.lang.String PROP_CODEPAGE;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "org.jline.terminal.codepage"

  public static final java.lang.String PROP_TYPE;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "org.jline.terminal.type"

  public static final java.lang.String PROP_JNA;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "org.jline.terminal.jna"

  public static final java.lang.String PROP_JANSI;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "org.jline.terminal.jansi"

  public static final java.lang.String PROP_EXEC;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "org.jline.terminal.exec"

  public static final java.lang.String PROP_DUMB;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "org.jline.terminal.dumb"

  public static final java.lang.String PROP_DUMB_COLOR;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "org.jline.terminal.dumb.color"

  public static final java.lang.String PROP_NON_BLOCKING_READS;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "org.jline.terminal.pty.nonBlockingReads"

  public static final java.lang.String PROP_COLOR_DISTANCE;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "org.jline.utils.colorDistance"

  public static final java.lang.String PROP_DISABLE_ALTERNATE_CHARSET;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "org.jline.utils.disableAlternateCharset"

  private java.lang.String name;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private java.io.InputStream in;
    descriptor: Ljava/io/InputStream;
    flags: (0x0002) ACC_PRIVATE

  private java.io.OutputStream out;
    descriptor: Ljava/io/OutputStream;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String type;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private java.nio.charset.Charset encoding;
    descriptor: Ljava/nio/charset/Charset;
    flags: (0x0002) ACC_PRIVATE

  private int codepage;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private java.lang.Boolean system;
    descriptor: Ljava/lang/Boolean;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.Boolean jna;
    descriptor: Ljava/lang/Boolean;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.Boolean jansi;
    descriptor: Ljava/lang/Boolean;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.Boolean exec;
    descriptor: Ljava/lang/Boolean;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.Boolean dumb;
    descriptor: Ljava/lang/Boolean;
    flags: (0x0002) ACC_PRIVATE

  private jdk.internal.org.jline.terminal.Attributes attributes;
    descriptor: Ljdk/internal/org/jline/terminal/Attributes;
    flags: (0x0002) ACC_PRIVATE

  private jdk.internal.org.jline.terminal.Size size;
    descriptor: Ljdk/internal/org/jline/terminal/Size;
    flags: (0x0002) ACC_PRIVATE

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

  private jdk.internal.org.jline.terminal.Terminal$SignalHandler signalHandler;
    descriptor: Ljdk/internal/org/jline/terminal/Terminal$SignalHandler;
    flags: (0x0002) ACC_PRIVATE

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

  private java.util.function.Function<java.io.InputStream, java.io.InputStream> inputStreamWrapper;
    descriptor: Ljava/util/function/Function;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/function/Function<Ljava/io/InputStream;Ljava/io/InputStream;>;

  public static jdk.internal.org.jline.terminal.Terminal terminal();
    descriptor: ()Ljdk/internal/org/jline/terminal/Terminal;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 76
            invokestatic jdk.internal.org.jline.terminal.TerminalBuilder.builder:()Ljdk/internal/org/jline/terminal/TerminalBuilder;
            invokevirtual jdk.internal.org.jline.terminal.TerminalBuilder.build:()Ljdk/internal/org/jline/terminal/Terminal;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Exceptions:
      throws java.io.IOException

  public static jdk.internal.org.jline.terminal.TerminalBuilder builder();
    descriptor: ()Ljdk/internal/org/jline/terminal/TerminalBuilder;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 85
            new jdk.internal.org.jline.terminal.TerminalBuilder
            dup
            invokespecial jdk.internal.org.jline.terminal.TerminalBuilder.<init>:()V
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.internal.org.jline.terminal.TerminalBuilder this
         0: .line 106
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 101
            aload 0 /* this */
            iconst_0
            putfield jdk.internal.org.jline.terminal.TerminalBuilder.nativeSignals:Z
         2: .line 102
            aload 0 /* this */
            getstatic jdk.internal.org.jline.terminal.Terminal$SignalHandler.SIG_DFL:Ljdk/internal/org/jline/terminal/Terminal$SignalHandler;
            putfield jdk.internal.org.jline.terminal.TerminalBuilder.signalHandler:Ljdk/internal/org/jline/terminal/Terminal$SignalHandler;
         3: .line 103
            aload 0 /* this */
            iconst_0
            putfield jdk.internal.org.jline.terminal.TerminalBuilder.paused:Z
         4: .line 104
            aload 0 /* this */
            invokedynamic apply()Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  jdk/internal/org/jline/terminal/TerminalBuilder.lambda$0(Ljava/io/InputStream;)Ljava/io/InputStream; (6)
                  (Ljava/io/InputStream;)Ljava/io/InputStream;
            putfield jdk.internal.org.jline.terminal.TerminalBuilder.inputStreamWrapper:Ljava/util/function/Function;
         5: .line 107
            return
        end local 0 // jdk.internal.org.jline.terminal.TerminalBuilder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Ljdk/internal/org/jline/terminal/TerminalBuilder;

  public jdk.internal.org.jline.terminal.TerminalBuilder name(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljdk/internal/org/jline/terminal/TerminalBuilder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.internal.org.jline.terminal.TerminalBuilder this
        start local 1 // java.lang.String name
         0: .line 110
            aload 0 /* this */
            aload 1 /* name */
            putfield jdk.internal.org.jline.terminal.TerminalBuilder.name:Ljava/lang/String;
         1: .line 111
            aload 0 /* this */
            areturn
        end local 1 // java.lang.String name
        end local 0 // jdk.internal.org.jline.terminal.TerminalBuilder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/internal/org/jline/terminal/TerminalBuilder;
            0    2     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  public jdk.internal.org.jline.terminal.TerminalBuilder streams(java.io.InputStream, java.io.OutputStream);
    descriptor: (Ljava/io/InputStream;Ljava/io/OutputStream;)Ljdk/internal/org/jline/terminal/TerminalBuilder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // jdk.internal.org.jline.terminal.TerminalBuilder this
        start local 1 // java.io.InputStream in
        start local 2 // java.io.OutputStream out
         0: .line 115
            aload 0 /* this */
            aload 1 /* in */
            putfield jdk.internal.org.jline.terminal.TerminalBuilder.in:Ljava/io/InputStream;
         1: .line 116
            aload 0 /* this */
            aload 2 /* out */
            putfield jdk.internal.org.jline.terminal.TerminalBuilder.out:Ljava/io/OutputStream;
         2: .line 117
            aload 0 /* this */
            areturn
        end local 2 // java.io.OutputStream out
        end local 1 // java.io.InputStream in
        end local 0 // jdk.internal.org.jline.terminal.TerminalBuilder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljdk/internal/org/jline/terminal/TerminalBuilder;
            0    3     1    in  Ljava/io/InputStream;
            0    3     2   out  Ljava/io/OutputStream;
    MethodParameters:
      Name  Flags
      in    
      out   

  public jdk.internal.org.jline.terminal.TerminalBuilder system(boolean);
    descriptor: (Z)Ljdk/internal/org/jline/terminal/TerminalBuilder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.internal.org.jline.terminal.TerminalBuilder this
        start local 1 // boolean system
         0: .line 121
            aload 0 /* this */
            iload 1 /* system */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            putfield jdk.internal.org.jline.terminal.TerminalBuilder.system:Ljava/lang/Boolean;
         1: .line 122
            aload 0 /* this */
            areturn
        end local 1 // boolean system
        end local 0 // jdk.internal.org.jline.terminal.TerminalBuilder this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Ljdk/internal/org/jline/terminal/TerminalBuilder;
            0    2     1  system  Z
    MethodParameters:
        Name  Flags
      system  

  public jdk.internal.org.jline.terminal.TerminalBuilder jna(boolean);
    descriptor: (Z)Ljdk/internal/org/jline/terminal/TerminalBuilder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.internal.org.jline.terminal.TerminalBuilder this
        start local 1 // boolean jna
         0: .line 126
            aload 0 /* this */
            iload 1 /* jna */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            putfield jdk.internal.org.jline.terminal.TerminalBuilder.jna:Ljava/lang/Boolean;
         1: .line 127
            aload 0 /* this */
            areturn
        end local 1 // boolean jna
        end local 0 // jdk.internal.org.jline.terminal.TerminalBuilder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/internal/org/jline/terminal/TerminalBuilder;
            0    2     1   jna  Z
    MethodParameters:
      Name  Flags
      jna   

  public jdk.internal.org.jline.terminal.TerminalBuilder jansi(boolean);
    descriptor: (Z)Ljdk/internal/org/jline/terminal/TerminalBuilder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.internal.org.jline.terminal.TerminalBuilder this
        start local 1 // boolean jansi
         0: .line 131
            aload 0 /* this */
            iload 1 /* jansi */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            putfield jdk.internal.org.jline.terminal.TerminalBuilder.jansi:Ljava/lang/Boolean;
         1: .line 132
            aload 0 /* this */
            areturn
        end local 1 // boolean jansi
        end local 0 // jdk.internal.org.jline.terminal.TerminalBuilder this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Ljdk/internal/org/jline/terminal/TerminalBuilder;
            0    2     1  jansi  Z
    MethodParameters:
       Name  Flags
      jansi  

  public jdk.internal.org.jline.terminal.TerminalBuilder exec(boolean);
    descriptor: (Z)Ljdk/internal/org/jline/terminal/TerminalBuilder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.internal.org.jline.terminal.TerminalBuilder this
        start local 1 // boolean exec
         0: .line 136
            aload 0 /* this */
            iload 1 /* exec */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            putfield jdk.internal.org.jline.terminal.TerminalBuilder.exec:Ljava/lang/Boolean;
         1: .line 137
            aload 0 /* this */
            areturn
        end local 1 // boolean exec
        end local 0 // jdk.internal.org.jline.terminal.TerminalBuilder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/internal/org/jline/terminal/TerminalBuilder;
            0    2     1  exec  Z
    MethodParameters:
      Name  Flags
      exec  

  public jdk.internal.org.jline.terminal.TerminalBuilder dumb(boolean);
    descriptor: (Z)Ljdk/internal/org/jline/terminal/TerminalBuilder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.internal.org.jline.terminal.TerminalBuilder this
        start local 1 // boolean dumb
         0: .line 141
            aload 0 /* this */
            iload 1 /* dumb */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            putfield jdk.internal.org.jline.terminal.TerminalBuilder.dumb:Ljava/lang/Boolean;
         1: .line 142
            aload 0 /* this */
            areturn
        end local 1 // boolean dumb
        end local 0 // jdk.internal.org.jline.terminal.TerminalBuilder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/internal/org/jline/terminal/TerminalBuilder;
            0    2     1  dumb  Z
    MethodParameters:
      Name  Flags
      dumb  

  public jdk.internal.org.jline.terminal.TerminalBuilder type(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljdk/internal/org/jline/terminal/TerminalBuilder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.internal.org.jline.terminal.TerminalBuilder this
        start local 1 // java.lang.String type
         0: .line 146
            aload 0 /* this */
            aload 1 /* type */
            putfield jdk.internal.org.jline.terminal.TerminalBuilder.type:Ljava/lang/String;
         1: .line 147
            aload 0 /* this */
            areturn
        end local 1 // java.lang.String type
        end local 0 // jdk.internal.org.jline.terminal.TerminalBuilder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/internal/org/jline/terminal/TerminalBuilder;
            0    2     1  type  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      type  

  public jdk.internal.org.jline.terminal.TerminalBuilder encoding(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljdk/internal/org/jline/terminal/TerminalBuilder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.internal.org.jline.terminal.TerminalBuilder this
        start local 1 // java.lang.String encoding
         0: .line 166
            aload 0 /* this */
            aload 1 /* encoding */
            ifnull 1
            aload 1 /* encoding */
            invokestatic java.nio.charset.Charset.forName:(Ljava/lang/String;)Ljava/nio/charset/Charset;
            goto 2
      StackMap locals:
      StackMap stack: jdk.internal.org.jline.terminal.TerminalBuilder
         1: aconst_null
      StackMap locals: jdk.internal.org.jline.terminal.TerminalBuilder java.lang.String
      StackMap stack: jdk.internal.org.jline.terminal.TerminalBuilder java.nio.charset.Charset
         2: invokevirtual jdk.internal.org.jline.terminal.TerminalBuilder.encoding:(Ljava/nio/charset/Charset;)Ljdk/internal/org/jline/terminal/TerminalBuilder;
            areturn
        end local 1 // java.lang.String encoding
        end local 0 // jdk.internal.org.jline.terminal.TerminalBuilder this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Ljdk/internal/org/jline/terminal/TerminalBuilder;
            0    3     1  encoding  Ljava/lang/String;
    Exceptions:
      throws java.nio.charset.UnsupportedCharsetException
    MethodParameters:
          Name  Flags
      encoding  

  public jdk.internal.org.jline.terminal.TerminalBuilder encoding(java.nio.charset.Charset);
    descriptor: (Ljava/nio/charset/Charset;)Ljdk/internal/org/jline/terminal/TerminalBuilder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.internal.org.jline.terminal.TerminalBuilder this
        start local 1 // java.nio.charset.Charset encoding
         0: .line 184
            aload 0 /* this */
            aload 1 /* encoding */
            putfield jdk.internal.org.jline.terminal.TerminalBuilder.encoding:Ljava/nio/charset/Charset;
         1: .line 185
            aload 0 /* this */
            areturn
        end local 1 // java.nio.charset.Charset encoding
        end local 0 // jdk.internal.org.jline.terminal.TerminalBuilder this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Ljdk/internal/org/jline/terminal/TerminalBuilder;
            0    2     1  encoding  Ljava/nio/charset/Charset;
    MethodParameters:
          Name  Flags
      encoding  

  public jdk.internal.org.jline.terminal.TerminalBuilder codepage(int);
    descriptor: (I)Ljdk/internal/org/jline/terminal/TerminalBuilder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.internal.org.jline.terminal.TerminalBuilder this
        start local 1 // int codepage
         0: .line 197
            aload 0 /* this */
            iload 1 /* codepage */
            putfield jdk.internal.org.jline.terminal.TerminalBuilder.codepage:I
         1: .line 198
            aload 0 /* this */
            areturn
        end local 1 // int codepage
        end local 0 // jdk.internal.org.jline.terminal.TerminalBuilder this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Ljdk/internal/org/jline/terminal/TerminalBuilder;
            0    2     1  codepage  I
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
          Name  Flags
      codepage  

  public jdk.internal.org.jline.terminal.TerminalBuilder attributes(jdk.internal.org.jline.terminal.Attributes);
    descriptor: (Ljdk/internal/org/jline/terminal/Attributes;)Ljdk/internal/org/jline/terminal/TerminalBuilder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.internal.org.jline.terminal.TerminalBuilder this
        start local 1 // jdk.internal.org.jline.terminal.Attributes attributes
         0: .line 214
            aload 0 /* this */
            aload 1 /* attributes */
            putfield jdk.internal.org.jline.terminal.TerminalBuilder.attributes:Ljdk/internal/org/jline/terminal/Attributes;
         1: .line 215
            aload 0 /* this */
            areturn
        end local 1 // jdk.internal.org.jline.terminal.Attributes attributes
        end local 0 // jdk.internal.org.jline.terminal.TerminalBuilder this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Ljdk/internal/org/jline/terminal/TerminalBuilder;
            0    2     1  attributes  Ljdk/internal/org/jline/terminal/Attributes;
    MethodParameters:
            Name  Flags
      attributes  

  public jdk.internal.org.jline.terminal.TerminalBuilder size(jdk.internal.org.jline.terminal.Size);
    descriptor: (Ljdk/internal/org/jline/terminal/Size;)Ljdk/internal/org/jline/terminal/TerminalBuilder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.internal.org.jline.terminal.TerminalBuilder this
        start local 1 // jdk.internal.org.jline.terminal.Size size
         0: .line 231
            aload 0 /* this */
            aload 1 /* size */
            putfield jdk.internal.org.jline.terminal.TerminalBuilder.size:Ljdk/internal/org/jline/terminal/Size;
         1: .line 232
            aload 0 /* this */
            areturn
        end local 1 // jdk.internal.org.jline.terminal.Size size
        end local 0 // jdk.internal.org.jline.terminal.TerminalBuilder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/internal/org/jline/terminal/TerminalBuilder;
            0    2     1  size  Ljdk/internal/org/jline/terminal/Size;
    MethodParameters:
      Name  Flags
      size  

  public jdk.internal.org.jline.terminal.TerminalBuilder nativeSignals(boolean);
    descriptor: (Z)Ljdk/internal/org/jline/terminal/TerminalBuilder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.internal.org.jline.terminal.TerminalBuilder this
        start local 1 // boolean nativeSignals
         0: .line 236
            aload 0 /* this */
            iload 1 /* nativeSignals */
            putfield jdk.internal.org.jline.terminal.TerminalBuilder.nativeSignals:Z
         1: .line 237
            aload 0 /* this */
            areturn
        end local 1 // boolean nativeSignals
        end local 0 // jdk.internal.org.jline.terminal.TerminalBuilder this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0           this  Ljdk/internal/org/jline/terminal/TerminalBuilder;
            0    2     1  nativeSignals  Z
    MethodParameters:
               Name  Flags
      nativeSignals  

  public jdk.internal.org.jline.terminal.TerminalBuilder signalHandler(jdk.internal.org.jline.terminal.Terminal$SignalHandler);
    descriptor: (Ljdk/internal/org/jline/terminal/Terminal$SignalHandler;)Ljdk/internal/org/jline/terminal/TerminalBuilder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.internal.org.jline.terminal.TerminalBuilder this
        start local 1 // jdk.internal.org.jline.terminal.Terminal$SignalHandler signalHandler
         0: .line 241
            aload 0 /* this */
            aload 1 /* signalHandler */
            putfield jdk.internal.org.jline.terminal.TerminalBuilder.signalHandler:Ljdk/internal/org/jline/terminal/Terminal$SignalHandler;
         1: .line 242
            aload 0 /* this */
            areturn
        end local 1 // jdk.internal.org.jline.terminal.Terminal$SignalHandler signalHandler
        end local 0 // jdk.internal.org.jline.terminal.TerminalBuilder this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0           this  Ljdk/internal/org/jline/terminal/TerminalBuilder;
            0    2     1  signalHandler  Ljdk/internal/org/jline/terminal/Terminal$SignalHandler;
    MethodParameters:
               Name  Flags
      signalHandler  

  public jdk.internal.org.jline.terminal.TerminalBuilder paused(boolean);
    descriptor: (Z)Ljdk/internal/org/jline/terminal/TerminalBuilder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.internal.org.jline.terminal.TerminalBuilder this
        start local 1 // boolean paused
         0: .line 256
            aload 0 /* this */
            iload 1 /* paused */
            putfield jdk.internal.org.jline.terminal.TerminalBuilder.paused:Z
         1: .line 257
            aload 0 /* this */
            areturn
        end local 1 // boolean paused
        end local 0 // jdk.internal.org.jline.terminal.TerminalBuilder this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Ljdk/internal/org/jline/terminal/TerminalBuilder;
            0    2     1  paused  Z
    MethodParameters:
        Name  Flags
      paused  

  public jdk.internal.org.jline.terminal.TerminalBuilder inputStreamWrapper(java.util.function.Function<java.io.InputStream, java.io.InputStream>);
    descriptor: (Ljava/util/function/Function;)Ljdk/internal/org/jline/terminal/TerminalBuilder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.internal.org.jline.terminal.TerminalBuilder this
        start local 1 // java.util.function.Function wrapper
         0: .line 261
            aload 0 /* this */
            aload 1 /* wrapper */
            putfield jdk.internal.org.jline.terminal.TerminalBuilder.inputStreamWrapper:Ljava/util/function/Function;
         1: .line 262
            aload 0 /* this */
            areturn
        end local 1 // java.util.function.Function wrapper
        end local 0 // jdk.internal.org.jline.terminal.TerminalBuilder this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Ljdk/internal/org/jline/terminal/TerminalBuilder;
            0    2     1  wrapper  Ljava/util/function/Function<Ljava/io/InputStream;Ljava/io/InputStream;>;
    Signature: (Ljava/util/function/Function<Ljava/io/InputStream;Ljava/io/InputStream;>;)Ljdk/internal/org/jline/terminal/TerminalBuilder;
    MethodParameters:
         Name  Flags
      wrapper  

  public jdk.internal.org.jline.terminal.Terminal build();
    descriptor: ()Ljdk/internal/org/jline/terminal/Terminal;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // jdk.internal.org.jline.terminal.TerminalBuilder this
         0: .line 266
            aload 0 /* this */
            invokevirtual jdk.internal.org.jline.terminal.TerminalBuilder.doBuild:()Ljdk/internal/org/jline/terminal/Terminal;
            astore 1 /* terminal */
        start local 1 // jdk.internal.org.jline.terminal.Terminal terminal
         1: .line 267
            aload 1 /* terminal */
            invokedynamic get(Ljdk/internal/org/jline/terminal/Terminal;)Ljava/util/function/Supplier;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()Ljava/lang/Object;
                  jdk/internal/org/jline/terminal/TerminalBuilder.lambda$1(Ljdk/internal/org/jline/terminal/Terminal;)Ljava/lang/String; (6)
                  ()Ljava/lang/String;
            invokestatic jdk.internal.org.jline.utils.Log.debug:(Ljava/util/function/Supplier;)V
         2: .line 268
            aload 1 /* terminal */
            instanceof jdk.internal.org.jline.terminal.impl.AbstractPosixTerminal
            ifeq 4
         3: .line 269
            aload 1 /* terminal */
            invokedynamic get(Ljdk/internal/org/jline/terminal/Terminal;)Ljava/util/function/Supplier;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()Ljava/lang/Object;
                  jdk/internal/org/jline/terminal/TerminalBuilder.lambda$2(Ljdk/internal/org/jline/terminal/Terminal;)Ljava/lang/String; (6)
                  ()Ljava/lang/String;
            invokestatic jdk.internal.org.jline.utils.Log.debug:(Ljava/util/function/Supplier;)V
         4: .line 271
      StackMap locals: jdk.internal.org.jline.terminal.Terminal
      StackMap stack:
            aload 1 /* terminal */
            areturn
        end local 1 // jdk.internal.org.jline.terminal.Terminal terminal
        end local 0 // jdk.internal.org.jline.terminal.TerminalBuilder this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      this  Ljdk/internal/org/jline/terminal/TerminalBuilder;
            1    5     1  terminal  Ljdk/internal/org/jline/terminal/Terminal;
    Exceptions:
      throws java.io.IOException

  private jdk.internal.org.jline.terminal.Terminal doBuild();
    descriptor: ()Ljdk/internal/org/jline/terminal/Terminal;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=10, locals=13, args_size=1
        start local 0 // jdk.internal.org.jline.terminal.TerminalBuilder this
         0: .line 275
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.name:Ljava/lang/String;
            astore 1 /* name */
        start local 1 // java.lang.String name
         1: .line 276
            aload 1 /* name */
            ifnonnull 3
         2: .line 277
            ldc "JLine terminal"
            astore 1 /* name */
         3: .line 279
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.encoding:Ljava/nio/charset/Charset;
            astore 2 /* encoding */
        start local 2 // java.nio.charset.Charset encoding
         4: .line 280
            aload 2 /* encoding */
            ifnonnull 8
         5: .line 281
            ldc "org.jline.terminal.encoding"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 3 /* charsetName */
        start local 3 // java.lang.String charsetName
         6: .line 282
            aload 3 /* charsetName */
            ifnull 8
            aload 3 /* charsetName */
            invokestatic java.nio.charset.Charset.isSupported:(Ljava/lang/String;)Z
            ifeq 8
         7: .line 283
            aload 3 /* charsetName */
            invokestatic java.nio.charset.Charset.forName:(Ljava/lang/String;)Ljava/nio/charset/Charset;
            astore 2 /* encoding */
        end local 3 // java.lang.String charsetName
         8: .line 286
      StackMap locals: java.nio.charset.Charset
      StackMap stack:
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.codepage:I
            istore 3 /* codepage */
        start local 3 // int codepage
         9: .line 287
            iload 3 /* codepage */
            ifgt 13
        10: .line 288
            ldc "org.jline.terminal.codepage"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 4 /* str */
        start local 4 // java.lang.String str
        11: .line 289
            aload 4 /* str */
            ifnull 13
        12: .line 290
            aload 4 /* str */
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            istore 3 /* codepage */
        end local 4 // java.lang.String str
        13: .line 293
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.type:Ljava/lang/String;
            astore 4 /* type */
        start local 4 // java.lang.String type
        14: .line 294
            aload 4 /* type */
            ifnonnull 16
        15: .line 295
            ldc "org.jline.terminal.type"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 4 /* type */
        16: .line 297
      StackMap locals: java.lang.String
      StackMap stack:
            aload 4 /* type */
            ifnonnull 18
        17: .line 298
            ldc "TERM"
            invokestatic java.lang.System.getenv:(Ljava/lang/String;)Ljava/lang/String;
            astore 4 /* type */
        18: .line 300
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.jna:Ljava/lang/Boolean;
            astore 5 /* jna */
        start local 5 // java.lang.Boolean jna
        19: .line 301
            aload 5 /* jna */
            ifnonnull 21
        20: .line 302
            ldc "org.jline.terminal.jna"
            iconst_1
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            invokestatic jdk.internal.org.jline.terminal.TerminalBuilder.getBoolean:(Ljava/lang/String;Ljava/lang/Boolean;)Ljava/lang/Boolean;
            astore 5 /* jna */
        21: .line 304
      StackMap locals: java.lang.Boolean
      StackMap stack:
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.jansi:Ljava/lang/Boolean;
            astore 6 /* jansi */
        start local 6 // java.lang.Boolean jansi
        22: .line 305
            aload 6 /* jansi */
            ifnonnull 24
        23: .line 306
            ldc "org.jline.terminal.jansi"
            iconst_1
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            invokestatic jdk.internal.org.jline.terminal.TerminalBuilder.getBoolean:(Ljava/lang/String;Ljava/lang/Boolean;)Ljava/lang/Boolean;
            astore 6 /* jansi */
        24: .line 308
      StackMap locals: java.lang.Boolean
      StackMap stack:
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.exec:Ljava/lang/Boolean;
            astore 7 /* exec */
        start local 7 // java.lang.Boolean exec
        25: .line 309
            aload 7 /* exec */
            ifnonnull 27
        26: .line 310
            ldc "org.jline.terminal.exec"
            iconst_1
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            invokestatic jdk.internal.org.jline.terminal.TerminalBuilder.getBoolean:(Ljava/lang/String;Ljava/lang/Boolean;)Ljava/lang/Boolean;
            astore 7 /* exec */
        27: .line 312
      StackMap locals: java.lang.Boolean
      StackMap stack:
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.dumb:Ljava/lang/Boolean;
            astore 8 /* dumb */
        start local 8 // java.lang.Boolean dumb
        28: .line 313
            aload 8 /* dumb */
            ifnonnull 30
        29: .line 314
            ldc "org.jline.terminal.dumb"
            aconst_null
            invokestatic jdk.internal.org.jline.terminal.TerminalBuilder.getBoolean:(Ljava/lang/String;Ljava/lang/Boolean;)Ljava/lang/Boolean;
            astore 8 /* dumb */
        30: .line 316
      StackMap locals: java.lang.Boolean
      StackMap stack:
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.system:Ljava/lang/Boolean;
            ifnull 31
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.system:Ljava/lang/Boolean;
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifne 32
      StackMap locals:
      StackMap stack:
        31: aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.system:Ljava/lang/Boolean;
            ifnonnull 113
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.in:Ljava/io/InputStream;
            ifnonnull 113
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.out:Ljava/io/OutputStream;
            ifnonnull 113
        32: .line 317
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.attributes:Ljdk/internal/org/jline/terminal/Attributes;
            ifnonnull 33
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.size:Ljdk/internal/org/jline/terminal/Size;
            ifnull 35
      StackMap locals:
      StackMap stack:
        33: iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
        34: .line 318
            ldc "Attributes and size fields are ignored when creating a system terminal"
            aastore
            invokestatic jdk.internal.org.jline.utils.Log.warn:([Ljava/lang/Object;)V
        35: .line 320
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalStateException
            dup
            ldc "Unable to create a system terminal"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            astore 9 /* exception */
        start local 9 // java.lang.IllegalStateException exception
        36: .line 321
            getstatic jdk.internal.org.jline.utils.OSUtils.IS_WINDOWS:Z
            ifeq 65
        37: .line 322
            ldc "cygwin"
            ldc "TERM"
            invokestatic java.lang.System.getenv:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            istore 10 /* cygwinTerm */
        start local 10 // boolean cygwinTerm
        38: .line 323
            getstatic jdk.internal.org.jline.utils.OSUtils.IS_CONEMU:Z
            istore 11 /* ansiPassThrough */
        start local 11 // boolean ansiPassThrough
        39: .line 327
            getstatic jdk.internal.org.jline.utils.OSUtils.IS_CYGWIN:Z
            ifne 40
            getstatic jdk.internal.org.jline.utils.OSUtils.IS_MSYSTEM:Z
            ifeq 50
      StackMap locals: java.lang.IllegalStateException int int
      StackMap stack:
        40: aload 7 /* exec */
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifeq 50
            iload 10 /* cygwinTerm */
            ifne 50
        41: .line 329
            invokestatic jdk.internal.org.jline.terminal.impl.ExecPty.current:()Ljdk/internal/org/jline/terminal/spi/Pty;
            astore 12 /* pty */
        start local 12 // jdk.internal.org.jline.terminal.spi.Pty pty
        42: .line 332
            ldc "xterm"
            aload 4 /* type */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 44
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.type:Ljava/lang/String;
            ifnonnull 44
            ldc "org.jline.terminal.type"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            ifnonnull 44
        43: .line 333
            ldc "xterm-256color"
            astore 4 /* type */
        44: .line 335
      StackMap locals: jdk.internal.org.jline.terminal.spi.Pty
      StackMap stack:
            new jdk.internal.org.jline.terminal.impl.PosixSysTerminal
            dup
            aload 1 /* name */
            aload 4 /* type */
            aload 12 /* pty */
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.inputStreamWrapper:Ljava/util/function/Function;
            aload 12 /* pty */
            invokeinterface jdk.internal.org.jline.terminal.spi.Pty.getSlaveInput:()Ljava/io/InputStream;
            invokeinterface java.util.function.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.io.InputStream
            aload 12 /* pty */
            invokeinterface jdk.internal.org.jline.terminal.spi.Pty.getSlaveOutput:()Ljava/io/OutputStream;
            aload 2 /* encoding */
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.nativeSignals:Z
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.signalHandler:Ljdk/internal/org/jline/terminal/Terminal$SignalHandler;
            invokespecial jdk.internal.org.jline.terminal.impl.PosixSysTerminal.<init>:(Ljava/lang/String;Ljava/lang/String;Ljdk/internal/org/jline/terminal/spi/Pty;Ljava/io/InputStream;Ljava/io/OutputStream;Ljava/nio/charset/Charset;ZLjdk/internal/org/jline/terminal/Terminal$SignalHandler;)V
        45: areturn
        end local 12 // jdk.internal.org.jline.terminal.spi.Pty pty
        46: .line 336
      StackMap locals: jdk.internal.org.jline.terminal.TerminalBuilder java.lang.String java.nio.charset.Charset int java.lang.String java.lang.Boolean java.lang.Boolean java.lang.Boolean java.lang.Boolean java.lang.IllegalStateException int int
      StackMap stack: java.io.IOException
            astore 12 /* e */
        start local 12 // java.io.IOException e
        47: iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
        48: .line 338
            ldc "Error creating EXEC based terminal: "
            aastore
            dup
            iconst_1
            aload 12 /* e */
            invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
            aastore
            dup
            iconst_2
            aload 12 /* e */
            aastore
            invokestatic jdk.internal.org.jline.utils.Log.debug:([Ljava/lang/Object;)V
        49: .line 339
            aload 9 /* exception */
            aload 12 /* e */
            invokevirtual java.lang.IllegalStateException.addSuppressed:(Ljava/lang/Throwable;)V
        end local 12 // java.io.IOException e
        50: .line 342
      StackMap locals:
      StackMap stack:
            aload 5 /* jna */
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifeq 57
        51: .line 344
            aload 0 /* this */
            ldc Ljdk/internal/org/jline/terminal/spi/JnaSupport;
            invokevirtual jdk.internal.org.jline.terminal.TerminalBuilder.load:(Ljava/lang/Class;)Ljava/lang/Object;
            checkcast jdk.internal.org.jline.terminal.spi.JnaSupport
            aload 1 /* name */
            aload 4 /* type */
            iload 11 /* ansiPassThrough */
            aload 2 /* encoding */
            iload 3 /* codepage */
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.nativeSignals:Z
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.signalHandler:Ljdk/internal/org/jline/terminal/Terminal$SignalHandler;
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.paused:Z
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.inputStreamWrapper:Ljava/util/function/Function;
            invokeinterface jdk.internal.org.jline.terminal.spi.JnaSupport.winSysTerminal:(Ljava/lang/String;Ljava/lang/String;ZLjava/nio/charset/Charset;IZLjdk/internal/org/jline/terminal/Terminal$SignalHandler;ZLjava/util/function/Function;)Ljdk/internal/org/jline/terminal/Terminal;
        52: areturn
        53: .line 345
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 12 /* t */
        start local 12 // java.lang.Throwable t
        54: iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
        55: .line 346
            ldc "Error creating JNA based terminal: "
            aastore
            dup
            iconst_1
            aload 12 /* t */
            invokevirtual java.lang.Throwable.getMessage:()Ljava/lang/String;
            aastore
            dup
            iconst_2
            aload 12 /* t */
            aastore
            invokestatic jdk.internal.org.jline.utils.Log.debug:([Ljava/lang/Object;)V
        56: .line 347
            aload 9 /* exception */
            aload 12 /* t */
            invokevirtual java.lang.IllegalStateException.addSuppressed:(Ljava/lang/Throwable;)V
        end local 12 // java.lang.Throwable t
        57: .line 350
      StackMap locals:
      StackMap stack:
            aload 6 /* jansi */
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifeq 89
        58: .line 352
            aload 0 /* this */
            ldc Ljdk/internal/org/jline/terminal/spi/JansiSupport;
            invokevirtual jdk.internal.org.jline.terminal.TerminalBuilder.load:(Ljava/lang/Class;)Ljava/lang/Object;
            checkcast jdk.internal.org.jline.terminal.spi.JansiSupport
            aload 1 /* name */
            aload 4 /* type */
            iload 11 /* ansiPassThrough */
            aload 2 /* encoding */
            iload 3 /* codepage */
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.nativeSignals:Z
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.signalHandler:Ljdk/internal/org/jline/terminal/Terminal$SignalHandler;
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.paused:Z
            invokeinterface jdk.internal.org.jline.terminal.spi.JansiSupport.winSysTerminal:(Ljava/lang/String;Ljava/lang/String;ZLjava/nio/charset/Charset;IZLjdk/internal/org/jline/terminal/Terminal$SignalHandler;Z)Ljdk/internal/org/jline/terminal/Terminal;
        59: areturn
        60: .line 353
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 12 /* t */
        start local 12 // java.lang.Throwable t
        61: iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
        62: .line 354
            ldc "Error creating JANSI based terminal: "
            aastore
            dup
            iconst_1
            aload 12 /* t */
            invokevirtual java.lang.Throwable.getMessage:()Ljava/lang/String;
            aastore
            dup
            iconst_2
            aload 12 /* t */
            aastore
            invokestatic jdk.internal.org.jline.utils.Log.debug:([Ljava/lang/Object;)V
        63: .line 355
            aload 9 /* exception */
            aload 12 /* t */
            invokevirtual java.lang.IllegalStateException.addSuppressed:(Ljava/lang/Throwable;)V
        end local 12 // java.lang.Throwable t
        end local 11 // boolean ansiPassThrough
        end local 10 // boolean cygwinTerm
        64: .line 358
            goto 89
        65: .line 359
      StackMap locals:
      StackMap stack:
            aload 5 /* jna */
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifeq 73
        66: .line 361
            aload 0 /* this */
            ldc Ljdk/internal/org/jline/terminal/spi/JnaSupport;
            invokevirtual jdk.internal.org.jline.terminal.TerminalBuilder.load:(Ljava/lang/Class;)Ljava/lang/Object;
            checkcast jdk.internal.org.jline.terminal.spi.JnaSupport
            invokeinterface jdk.internal.org.jline.terminal.spi.JnaSupport.current:()Ljdk/internal/org/jline/terminal/spi/Pty;
            astore 10 /* pty */
        start local 10 // jdk.internal.org.jline.terminal.spi.Pty pty
        67: .line 362
            new jdk.internal.org.jline.terminal.impl.PosixSysTerminal
            dup
            aload 1 /* name */
            aload 4 /* type */
            aload 10 /* pty */
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.inputStreamWrapper:Ljava/util/function/Function;
            aload 10 /* pty */
            invokeinterface jdk.internal.org.jline.terminal.spi.Pty.getSlaveInput:()Ljava/io/InputStream;
            invokeinterface java.util.function.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.io.InputStream
            aload 10 /* pty */
            invokeinterface jdk.internal.org.jline.terminal.spi.Pty.getSlaveOutput:()Ljava/io/OutputStream;
            aload 2 /* encoding */
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.nativeSignals:Z
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.signalHandler:Ljdk/internal/org/jline/terminal/Terminal$SignalHandler;
            invokespecial jdk.internal.org.jline.terminal.impl.PosixSysTerminal.<init>:(Ljava/lang/String;Ljava/lang/String;Ljdk/internal/org/jline/terminal/spi/Pty;Ljava/io/InputStream;Ljava/io/OutputStream;Ljava/nio/charset/Charset;ZLjdk/internal/org/jline/terminal/Terminal$SignalHandler;)V
        68: areturn
        end local 10 // jdk.internal.org.jline.terminal.spi.Pty pty
        69: .line 363
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 10 /* t */
        start local 10 // java.lang.Throwable t
        70: iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
        71: .line 365
            ldc "Error creating JNA based terminal: "
            aastore
            dup
            iconst_1
            aload 10 /* t */
            invokevirtual java.lang.Throwable.getMessage:()Ljava/lang/String;
            aastore
            dup
            iconst_2
            aload 10 /* t */
            aastore
            invokestatic jdk.internal.org.jline.utils.Log.debug:([Ljava/lang/Object;)V
        72: .line 366
            aload 9 /* exception */
            aload 10 /* t */
            invokevirtual java.lang.IllegalStateException.addSuppressed:(Ljava/lang/Throwable;)V
        end local 10 // java.lang.Throwable t
        73: .line 369
      StackMap locals:
      StackMap stack:
            aload 6 /* jansi */
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifeq 81
        74: .line 371
            aload 0 /* this */
            ldc Ljdk/internal/org/jline/terminal/spi/JansiSupport;
            invokevirtual jdk.internal.org.jline.terminal.TerminalBuilder.load:(Ljava/lang/Class;)Ljava/lang/Object;
            checkcast jdk.internal.org.jline.terminal.spi.JansiSupport
            invokeinterface jdk.internal.org.jline.terminal.spi.JansiSupport.current:()Ljdk/internal/org/jline/terminal/spi/Pty;
            astore 10 /* pty */
        start local 10 // jdk.internal.org.jline.terminal.spi.Pty pty
        75: .line 372
            new jdk.internal.org.jline.terminal.impl.PosixSysTerminal
            dup
            aload 1 /* name */
            aload 4 /* type */
            aload 10 /* pty */
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.inputStreamWrapper:Ljava/util/function/Function;
            aload 10 /* pty */
            invokeinterface jdk.internal.org.jline.terminal.spi.Pty.getSlaveInput:()Ljava/io/InputStream;
            invokeinterface java.util.function.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.io.InputStream
            aload 10 /* pty */
            invokeinterface jdk.internal.org.jline.terminal.spi.Pty.getSlaveOutput:()Ljava/io/OutputStream;
            aload 2 /* encoding */
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.nativeSignals:Z
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.signalHandler:Ljdk/internal/org/jline/terminal/Terminal$SignalHandler;
            invokespecial jdk.internal.org.jline.terminal.impl.PosixSysTerminal.<init>:(Ljava/lang/String;Ljava/lang/String;Ljdk/internal/org/jline/terminal/spi/Pty;Ljava/io/InputStream;Ljava/io/OutputStream;Ljava/nio/charset/Charset;ZLjdk/internal/org/jline/terminal/Terminal$SignalHandler;)V
        76: areturn
        end local 10 // jdk.internal.org.jline.terminal.spi.Pty pty
        77: .line 373
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 10 /* t */
        start local 10 // java.lang.Throwable t
        78: iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
        79: .line 374
            ldc "Error creating JANSI based terminal: "
            aastore
            dup
            iconst_1
            aload 10 /* t */
            invokevirtual java.lang.Throwable.getMessage:()Ljava/lang/String;
            aastore
            dup
            iconst_2
            aload 10 /* t */
            aastore
            invokestatic jdk.internal.org.jline.utils.Log.debug:([Ljava/lang/Object;)V
        80: .line 375
            aload 9 /* exception */
            aload 10 /* t */
            invokevirtual java.lang.IllegalStateException.addSuppressed:(Ljava/lang/Throwable;)V
        end local 10 // java.lang.Throwable t
        81: .line 378
      StackMap locals:
      StackMap stack:
            aload 7 /* exec */
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifeq 89
        82: .line 380
            invokestatic jdk.internal.org.jline.terminal.impl.ExecPty.current:()Ljdk/internal/org/jline/terminal/spi/Pty;
            astore 10 /* pty */
        start local 10 // jdk.internal.org.jline.terminal.spi.Pty pty
        83: .line 381
            new jdk.internal.org.jline.terminal.impl.PosixSysTerminal
            dup
            aload 1 /* name */
            aload 4 /* type */
            aload 10 /* pty */
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.inputStreamWrapper:Ljava/util/function/Function;
            aload 10 /* pty */
            invokeinterface jdk.internal.org.jline.terminal.spi.Pty.getSlaveInput:()Ljava/io/InputStream;
            invokeinterface java.util.function.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.io.InputStream
            aload 10 /* pty */
            invokeinterface jdk.internal.org.jline.terminal.spi.Pty.getSlaveOutput:()Ljava/io/OutputStream;
            aload 2 /* encoding */
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.nativeSignals:Z
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.signalHandler:Ljdk/internal/org/jline/terminal/Terminal$SignalHandler;
            invokespecial jdk.internal.org.jline.terminal.impl.PosixSysTerminal.<init>:(Ljava/lang/String;Ljava/lang/String;Ljdk/internal/org/jline/terminal/spi/Pty;Ljava/io/InputStream;Ljava/io/OutputStream;Ljava/nio/charset/Charset;ZLjdk/internal/org/jline/terminal/Terminal$SignalHandler;)V
        84: areturn
        end local 10 // jdk.internal.org.jline.terminal.spi.Pty pty
        85: .line 382
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 10 /* t */
        start local 10 // java.lang.Throwable t
        86: iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
        87: .line 384
            ldc "Error creating EXEC based terminal: "
            aastore
            dup
            iconst_1
            aload 10 /* t */
            invokevirtual java.lang.Throwable.getMessage:()Ljava/lang/String;
            aastore
            dup
            iconst_2
            aload 10 /* t */
            aastore
            invokestatic jdk.internal.org.jline.utils.Log.debug:([Ljava/lang/Object;)V
        88: .line 385
            aload 9 /* exception */
            aload 10 /* t */
            invokevirtual java.lang.IllegalStateException.addSuppressed:(Ljava/lang/Throwable;)V
        end local 10 // java.lang.Throwable t
        89: .line 389
      StackMap locals:
      StackMap stack:
            aload 8 /* dumb */
            ifnull 90
            aload 8 /* dumb */
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifeq 112
        90: .line 391
      StackMap locals:
      StackMap stack:
            ldc "org.jline.terminal.dumb.color"
            iconst_0
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            invokestatic jdk.internal.org.jline.terminal.TerminalBuilder.getBoolean:(Ljava/lang/String;Ljava/lang/Boolean;)Ljava/lang/Boolean;
            invokevirtual java.lang.Boolean.booleanValue:()Z
            istore 10 /* color */
        start local 10 // boolean color
        91: .line 393
            iload 10 /* color */
            ifne 95
        92: .line 394
            ldc "INSIDE_EMACS"
            invokestatic java.lang.System.getenv:(Ljava/lang/String;)Ljava/lang/String;
            ifnull 93
            iconst_1
            goto 94
      StackMap locals: int
      StackMap stack:
        93: iconst_0
      StackMap locals:
      StackMap stack: int
        94: istore 10 /* color */
        95: .line 397
      StackMap locals:
      StackMap stack:
            iload 10 /* color */
            ifne 100
        96: .line 398
            invokestatic jdk.internal.org.jline.terminal.TerminalBuilder.getParentProcessCommand:()Ljava/lang/String;
            astore 11 /* command */
        start local 11 // java.lang.String command
        97: .line 399
            aload 11 /* command */
            ifnull 98
            aload 11 /* command */
            ldc "idea"
            invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
            ifeq 98
            iconst_1
            goto 99
      StackMap locals: java.lang.String
      StackMap stack:
        98: iconst_0
      StackMap locals:
      StackMap stack: int
        99: istore 10 /* color */
        end local 11 // java.lang.String command
       100: .line 401
      StackMap locals:
      StackMap stack:
            iload 10 /* color */
            ifne 106
            aload 8 /* dumb */
            ifnonnull 106
       101: .line 402
            invokestatic jdk.internal.org.jline.utils.Log.isDebugEnabled:()Z
            ifeq 104
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
       102: .line 403
            ldc "Creating a dumb terminal"
            aastore
            dup
            iconst_1
            aload 9 /* exception */
            aastore
            invokestatic jdk.internal.org.jline.utils.Log.warn:([Ljava/lang/Object;)V
       103: .line 404
            goto 106
      StackMap locals:
      StackMap stack:
       104: iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
       105: .line 405
            ldc "Unable to create a system terminal, creating a dumb terminal (enable debug logging for more information)"
            aastore
            invokestatic jdk.internal.org.jline.utils.Log.warn:([Ljava/lang/Object;)V
       106: .line 408
      StackMap locals:
      StackMap stack:
            new jdk.internal.org.jline.terminal.impl.DumbTerminal
            dup
            aload 1 /* name */
            iload 10 /* color */
            ifeq 107
            ldc "dumb-color"
            goto 108
      StackMap locals: jdk.internal.org.jline.terminal.TerminalBuilder java.lang.String java.nio.charset.Charset int java.lang.String java.lang.Boolean java.lang.Boolean java.lang.Boolean java.lang.Boolean java.lang.IllegalStateException int
      StackMap stack: new 106 new 106 java.lang.String
       107: ldc "dumb"
       108: .line 409
      StackMap locals: jdk.internal.org.jline.terminal.TerminalBuilder java.lang.String java.nio.charset.Charset int java.lang.String java.lang.Boolean java.lang.Boolean java.lang.Boolean java.lang.Boolean java.lang.IllegalStateException int
      StackMap stack: new 106 new 106 java.lang.String java.lang.String
            new java.io.FileInputStream
            dup
            getstatic java.io.FileDescriptor.in:Ljava/io/FileDescriptor;
            invokespecial java.io.FileInputStream.<init>:(Ljava/io/FileDescriptor;)V
       109: .line 410
            new java.io.FileOutputStream
            dup
            getstatic java.io.FileDescriptor.out:Ljava/io/FileDescriptor;
            invokespecial java.io.FileOutputStream.<init>:(Ljava/io/FileDescriptor;)V
       110: .line 411
            aload 2 /* encoding */
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.signalHandler:Ljdk/internal/org/jline/terminal/Terminal$SignalHandler;
       111: .line 408
            invokespecial jdk.internal.org.jline.terminal.impl.DumbTerminal.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/io/InputStream;Ljava/io/OutputStream;Ljava/nio/charset/Charset;Ljdk/internal/org/jline/terminal/Terminal$SignalHandler;)V
            areturn
        end local 10 // boolean color
       112: .line 413
      StackMap locals:
      StackMap stack:
            aload 9 /* exception */
            athrow
        end local 9 // java.lang.IllegalStateException exception
       113: .line 416
      StackMap locals:
      StackMap stack:
            aload 5 /* jna */
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifeq 120
       114: .line 418
            aload 0 /* this */
            ldc Ljdk/internal/org/jline/terminal/spi/JnaSupport;
            invokevirtual jdk.internal.org.jline.terminal.TerminalBuilder.load:(Ljava/lang/Class;)Ljava/lang/Object;
            checkcast jdk.internal.org.jline.terminal.spi.JnaSupport
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.attributes:Ljdk/internal/org/jline/terminal/Attributes;
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.size:Ljdk/internal/org/jline/terminal/Size;
            invokeinterface jdk.internal.org.jline.terminal.spi.JnaSupport.open:(Ljdk/internal/org/jline/terminal/Attributes;Ljdk/internal/org/jline/terminal/Size;)Ljdk/internal/org/jline/terminal/spi/Pty;
            astore 9 /* pty */
        start local 9 // jdk.internal.org.jline.terminal.spi.Pty pty
       115: .line 419
            new jdk.internal.org.jline.terminal.impl.PosixPtyTerminal
            dup
            aload 1 /* name */
            aload 4 /* type */
            aload 9 /* pty */
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.in:Ljava/io/InputStream;
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.out:Ljava/io/OutputStream;
            aload 2 /* encoding */
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.signalHandler:Ljdk/internal/org/jline/terminal/Terminal$SignalHandler;
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.paused:Z
            invokespecial jdk.internal.org.jline.terminal.impl.PosixPtyTerminal.<init>:(Ljava/lang/String;Ljava/lang/String;Ljdk/internal/org/jline/terminal/spi/Pty;Ljava/io/InputStream;Ljava/io/OutputStream;Ljava/nio/charset/Charset;Ljdk/internal/org/jline/terminal/Terminal$SignalHandler;Z)V
       116: areturn
        end local 9 // jdk.internal.org.jline.terminal.spi.Pty pty
       117: .line 420
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 9 /* t */
        start local 9 // java.lang.Throwable t
       118: iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
       119: .line 421
            ldc "Error creating JNA based terminal: "
            aastore
            dup
            iconst_1
            aload 9 /* t */
            invokevirtual java.lang.Throwable.getMessage:()Ljava/lang/String;
            aastore
            dup
            iconst_2
            aload 9 /* t */
            aastore
            invokestatic jdk.internal.org.jline.utils.Log.debug:([Ljava/lang/Object;)V
        end local 9 // java.lang.Throwable t
       120: .line 424
      StackMap locals:
      StackMap stack:
            aload 6 /* jansi */
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifeq 127
       121: .line 426
            aload 0 /* this */
            ldc Ljdk/internal/org/jline/terminal/spi/JansiSupport;
            invokevirtual jdk.internal.org.jline.terminal.TerminalBuilder.load:(Ljava/lang/Class;)Ljava/lang/Object;
            checkcast jdk.internal.org.jline.terminal.spi.JansiSupport
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.attributes:Ljdk/internal/org/jline/terminal/Attributes;
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.size:Ljdk/internal/org/jline/terminal/Size;
            invokeinterface jdk.internal.org.jline.terminal.spi.JansiSupport.open:(Ljdk/internal/org/jline/terminal/Attributes;Ljdk/internal/org/jline/terminal/Size;)Ljdk/internal/org/jline/terminal/spi/Pty;
            astore 9 /* pty */
        start local 9 // jdk.internal.org.jline.terminal.spi.Pty pty
       122: .line 427
            new jdk.internal.org.jline.terminal.impl.PosixPtyTerminal
            dup
            aload 1 /* name */
            aload 4 /* type */
            aload 9 /* pty */
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.in:Ljava/io/InputStream;
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.out:Ljava/io/OutputStream;
            aload 2 /* encoding */
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.signalHandler:Ljdk/internal/org/jline/terminal/Terminal$SignalHandler;
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.paused:Z
            invokespecial jdk.internal.org.jline.terminal.impl.PosixPtyTerminal.<init>:(Ljava/lang/String;Ljava/lang/String;Ljdk/internal/org/jline/terminal/spi/Pty;Ljava/io/InputStream;Ljava/io/OutputStream;Ljava/nio/charset/Charset;Ljdk/internal/org/jline/terminal/Terminal$SignalHandler;Z)V
       123: areturn
        end local 9 // jdk.internal.org.jline.terminal.spi.Pty pty
       124: .line 428
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 9 /* t */
        start local 9 // java.lang.Throwable t
       125: iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
       126: .line 429
            ldc "Error creating JANSI based terminal: "
            aastore
            dup
            iconst_1
            aload 9 /* t */
            invokevirtual java.lang.Throwable.getMessage:()Ljava/lang/String;
            aastore
            dup
            iconst_2
            aload 9 /* t */
            aastore
            invokestatic jdk.internal.org.jline.utils.Log.debug:([Ljava/lang/Object;)V
        end local 9 // java.lang.Throwable t
       127: .line 432
      StackMap locals:
      StackMap stack:
            new jdk.internal.org.jline.terminal.impl.ExternalTerminal
            dup
            aload 1 /* name */
            aload 4 /* type */
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.in:Ljava/io/InputStream;
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.out:Ljava/io/OutputStream;
            aload 2 /* encoding */
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.signalHandler:Ljdk/internal/org/jline/terminal/Terminal$SignalHandler;
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.paused:Z
            invokespecial jdk.internal.org.jline.terminal.impl.ExternalTerminal.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/io/InputStream;Ljava/io/OutputStream;Ljava/nio/charset/Charset;Ljdk/internal/org/jline/terminal/Terminal$SignalHandler;Z)V
            astore 9 /* terminal */
        start local 9 // jdk.internal.org.jline.terminal.Terminal terminal
       128: .line 433
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.attributes:Ljdk/internal/org/jline/terminal/Attributes;
            ifnull 130
       129: .line 434
            aload 9 /* terminal */
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.attributes:Ljdk/internal/org/jline/terminal/Attributes;
            invokeinterface jdk.internal.org.jline.terminal.Terminal.setAttributes:(Ljdk/internal/org/jline/terminal/Attributes;)V
       130: .line 436
      StackMap locals: jdk.internal.org.jline.terminal.Terminal
      StackMap stack:
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.size:Ljdk/internal/org/jline/terminal/Size;
            ifnull 132
       131: .line 437
            aload 9 /* terminal */
            aload 0 /* this */
            getfield jdk.internal.org.jline.terminal.TerminalBuilder.size:Ljdk/internal/org/jline/terminal/Size;
            invokeinterface jdk.internal.org.jline.terminal.Terminal.setSize:(Ljdk/internal/org/jline/terminal/Size;)V
       132: .line 439
      StackMap locals:
      StackMap stack:
            aload 9 /* terminal */
            areturn
        end local 9 // jdk.internal.org.jline.terminal.Terminal terminal
        end local 8 // java.lang.Boolean dumb
        end local 7 // java.lang.Boolean exec
        end local 6 // java.lang.Boolean jansi
        end local 5 // java.lang.Boolean jna
        end local 4 // java.lang.String type
        end local 3 // int codepage
        end local 2 // java.nio.charset.Charset encoding
        end local 1 // java.lang.String name
        end local 0 // jdk.internal.org.jline.terminal.TerminalBuilder this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0  133     0             this  Ljdk/internal/org/jline/terminal/TerminalBuilder;
            1  133     1             name  Ljava/lang/String;
            4  133     2         encoding  Ljava/nio/charset/Charset;
            6    8     3      charsetName  Ljava/lang/String;
            9  133     3         codepage  I
           11   13     4              str  Ljava/lang/String;
           14  133     4             type  Ljava/lang/String;
           19  133     5              jna  Ljava/lang/Boolean;
           22  133     6            jansi  Ljava/lang/Boolean;
           25  133     7             exec  Ljava/lang/Boolean;
           28  133     8             dumb  Ljava/lang/Boolean;
           36  113     9        exception  Ljava/lang/IllegalStateException;
           38   64    10       cygwinTerm  Z
           39   64    11  ansiPassThrough  Z
           42   46    12              pty  Ljdk/internal/org/jline/terminal/spi/Pty;
           47   50    12                e  Ljava/io/IOException;
           54   57    12                t  Ljava/lang/Throwable;
           61   64    12                t  Ljava/lang/Throwable;
           67   69    10              pty  Ljdk/internal/org/jline/terminal/spi/Pty;
           70   73    10                t  Ljava/lang/Throwable;
           75   77    10              pty  Ljdk/internal/org/jline/terminal/spi/Pty;
           78   81    10                t  Ljava/lang/Throwable;
           83   85    10              pty  Ljdk/internal/org/jline/terminal/spi/Pty;
           86   89    10                t  Ljava/lang/Throwable;
           91  112    10            color  Z
           97  100    11          command  Ljava/lang/String;
          115  117     9              pty  Ljdk/internal/org/jline/terminal/spi/Pty;
          118  120     9                t  Ljava/lang/Throwable;
          122  124     9              pty  Ljdk/internal/org/jline/terminal/spi/Pty;
          125  127     9                t  Ljava/lang/Throwable;
          128  133     9         terminal  Ljdk/internal/org/jline/terminal/Terminal;
      Exception table:
        from    to  target  type
          41    45      46  Class java.io.IOException
          51    52      53  Class java.lang.Throwable
          58    59      60  Class java.lang.Throwable
          66    68      69  Class java.lang.Throwable
          74    76      77  Class java.lang.Throwable
          82    84      85  Class java.lang.Throwable
         114   116     117  Class java.lang.Throwable
         121   123     124  Class java.lang.Throwable
    Exceptions:
      throws java.io.IOException

  private static java.lang.String getParentProcessCommand();
    descriptor: ()Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=6, args_size=0
         0: .line 445
            ldc "java.lang.ProcessHandle"
            invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
            astore 0 /* phClass */
        start local 0 // java.lang.Class phClass
         1: .line 446
            aload 0 /* phClass */
            ldc "current"
            iconst_0
            anewarray java.lang.Class
            invokevirtual java.lang.Class.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
            aconst_null
            iconst_0
            anewarray java.lang.Object
            invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
            astore 1 /* current */
        start local 1 // java.lang.Object current
         2: .line 447
            aload 0 /* phClass */
            ldc "parent"
            iconst_0
            anewarray java.lang.Class
            invokevirtual java.lang.Class.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
            aload 1 /* current */
            iconst_0
            anewarray java.lang.Object
            invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.Optional
            aconst_null
            invokevirtual java.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 2 /* parent */
        start local 2 // java.lang.Object parent
         3: .line 448
            aload 0 /* phClass */
            ldc "info"
            iconst_0
            anewarray java.lang.Class
            invokevirtual java.lang.Class.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
            astore 3 /* infoMethod */
        start local 3 // java.lang.reflect.Method infoMethod
         4: .line 449
            aload 3 /* infoMethod */
            aload 2 /* parent */
            iconst_0
            anewarray java.lang.Object
            invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
            astore 4 /* info */
        start local 4 // java.lang.Object info
         5: .line 450
            aload 3 /* infoMethod */
            invokevirtual java.lang.reflect.Method.getReturnType:()Ljava/lang/Class;
            ldc "command"
            iconst_0
            anewarray java.lang.Class
            invokevirtual java.lang.Class.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
            aload 4 /* info */
            iconst_0
            anewarray java.lang.Object
            invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.Optional
            aconst_null
            invokevirtual java.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 5 /* command */
        start local 5 // java.lang.Object command
         6: .line 451
            aload 5 /* command */
            checkcast java.lang.String
         7: areturn
        end local 5 // java.lang.Object command
        end local 4 // java.lang.Object info
        end local 3 // java.lang.reflect.Method infoMethod
        end local 2 // java.lang.Object parent
        end local 1 // java.lang.Object current
        end local 0 // java.lang.Class phClass
         8: .line 452
      StackMap locals:
      StackMap stack: java.lang.Throwable
            pop
         9: .line 453
            aconst_null
            areturn
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            1    8     0     phClass  Ljava/lang/Class<*>;
            2    8     1     current  Ljava/lang/Object;
            3    8     2      parent  Ljava/lang/Object;
            4    8     3  infoMethod  Ljava/lang/reflect/Method;
            5    8     4        info  Ljava/lang/Object;
            6    8     5     command  Ljava/lang/Object;
      Exception table:
        from    to  target  type
           0     7       8  Class java.lang.Throwable

  private static java.lang.Boolean getBoolean(java.lang.String, java.lang.Boolean);
    descriptor: (Ljava/lang/String;Ljava/lang/Boolean;)Ljava/lang/Boolean;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=3, args_size=2
        start local 0 // java.lang.String name
        start local 1 // java.lang.Boolean def
         0: .line 459
            aload 0 /* name */
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 2 /* str */
        start local 2 // java.lang.String str
         1: .line 460
            aload 2 /* str */
            ifnull 5
         2: .line 461
            aload 2 /* str */
            invokestatic java.lang.Boolean.parseBoolean:(Ljava/lang/String;)Z
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
         3: areturn
        end local 2 // java.lang.String str
         4: .line 463
      StackMap locals:
      StackMap stack: java.lang.RuntimeException
            pop
         5: .line 465
      StackMap locals:
      StackMap stack:
            aload 1 /* def */
            areturn
        end local 1 // java.lang.Boolean def
        end local 0 // java.lang.String name
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  name  Ljava/lang/String;
            0    6     1   def  Ljava/lang/Boolean;
            1    4     2   str  Ljava/lang/String;
      Exception table:
        from    to  target  type
           0     3       4  Class java.lang.IllegalArgumentException
           0     3       4  Class java.lang.NullPointerException
    MethodParameters:
      Name  Flags
      name  
      def   

  private <S> S load(java.lang.Class<S>);
    descriptor: (Ljava/lang/Class;)Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.internal.org.jline.terminal.TerminalBuilder this
        start local 1 // java.lang.Class clazz
         0: .line 469
            aload 1 /* clazz */
            aload 1 /* clazz */
            invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
            invokestatic java.util.ServiceLoader.load:(Ljava/lang/Class;Ljava/lang/ClassLoader;)Ljava/util/ServiceLoader;
            invokevirtual java.util.ServiceLoader.iterator:()Ljava/util/Iterator;
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            areturn
        end local 1 // java.lang.Class clazz
        end local 0 // jdk.internal.org.jline.terminal.TerminalBuilder this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Ljdk/internal/org/jline/terminal/TerminalBuilder;
            0    1     1  clazz  Ljava/lang/Class<TS;>;
    Signature: <S:Ljava/lang/Object;>(Ljava/lang/Class<TS;>;)TS;
    MethodParameters:
       Name  Flags
      clazz  

  private static java.io.InputStream lambda$0(java.io.InputStream);
    descriptor: (Ljava/io/InputStream;)Ljava/io/InputStream;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.io.InputStream in
         0: .line 104
            aload 0 /* in */
            areturn
        end local 0 // java.io.InputStream in
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0    in  Ljava/io/InputStream;

  private static java.lang.String lambda$1(jdk.internal.org.jline.terminal.Terminal);
    descriptor: (Ljdk/internal/org/jline/terminal/Terminal;)Ljava/lang/String;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=1
         0: .line 267
            new java.lang.StringBuilder
            dup
            ldc "Using terminal "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static java.lang.String lambda$2(jdk.internal.org.jline.terminal.Terminal);
    descriptor: (Ljdk/internal/org/jline/terminal/Terminal;)Ljava/lang/String;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=1
         0: .line 269
            new java.lang.StringBuilder
            dup
            ldc "Using pty "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0
            checkcast jdk.internal.org.jline.terminal.impl.AbstractPosixTerminal
            invokevirtual jdk.internal.org.jline.terminal.impl.AbstractPosixTerminal.getPty:()Ljdk/internal/org/jline/terminal/spi/Pty;
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "TerminalBuilder.java"
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public abstract SignalHandler = jdk.internal.org.jline.terminal.Terminal$SignalHandler of jdk.internal.org.jline.terminal.Terminal