public class android.os.ZygoteProcess
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: android.os.ZygoteProcess
  super_class: java.lang.Object
{
  private static final java.lang.String LOG_TAG;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "ZygoteProcess"

  private final android.net.LocalSocketAddress mSocket;
    descriptor: Landroid/net/LocalSocketAddress;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final android.net.LocalSocketAddress mSecondarySocket;
    descriptor: Landroid/net/LocalSocketAddress;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.Object mLock;
    descriptor: Ljava/lang/Object;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private java.util.List<java.lang.String> mApiBlacklistExemptions;
    descriptor: Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/List<Ljava/lang/String;>;

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

  private android.os.ZygoteProcess$ZygoteState primaryZygoteState;
    descriptor: Landroid/os/ZygoteProcess$ZygoteState;
    flags: (0x0002) ACC_PRIVATE

  private android.os.ZygoteProcess$ZygoteState secondaryZygoteState;
    descriptor: Landroid/os/ZygoteProcess$ZygoteState;
    flags: (0x0002) ACC_PRIVATE

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

  public void <init>(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=3, args_size=3
        start local 0 // android.os.ZygoteProcess this
        start local 1 // java.lang.String primarySocket
        start local 2 // java.lang.String secondarySocket
         0: .line 74
            aload 0 /* this */
            new android.net.LocalSocketAddress
            dup
            aload 1 /* primarySocket */
            getstatic android.net.LocalSocketAddress$Namespace.RESERVED:Landroid/net/LocalSocketAddress$Namespace;
            invokespecial android.net.LocalSocketAddress.<init>:(Ljava/lang/String;Landroid/net/LocalSocketAddress$Namespace;)V
         1: .line 75
            new android.net.LocalSocketAddress
            dup
            aload 2 /* secondarySocket */
            getstatic android.net.LocalSocketAddress$Namespace.RESERVED:Landroid/net/LocalSocketAddress$Namespace;
            invokespecial android.net.LocalSocketAddress.<init>:(Ljava/lang/String;Landroid/net/LocalSocketAddress$Namespace;)V
            invokespecial android.os.ZygoteProcess.<init>:(Landroid/net/LocalSocketAddress;Landroid/net/LocalSocketAddress;)V
         2: .line 76
            return
        end local 2 // java.lang.String secondarySocket
        end local 1 // java.lang.String primarySocket
        end local 0 // android.os.ZygoteProcess this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    3     0             this  Landroid/os/ZygoteProcess;
            0    3     1    primarySocket  Ljava/lang/String;
            0    3     2  secondarySocket  Ljava/lang/String;
    MethodParameters:
                 Name  Flags
      primarySocket    
      secondarySocket  

  public void <init>(android.net.LocalSocketAddress, android.net.LocalSocketAddress);
    descriptor: (Landroid/net/LocalSocketAddress;Landroid/net/LocalSocketAddress;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // android.os.ZygoteProcess this
        start local 1 // android.net.LocalSocketAddress primarySocket
        start local 2 // android.net.LocalSocketAddress secondarySocket
         0: .line 78
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 159
            aload 0 /* this */
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            putfield android.os.ZygoteProcess.mLock:Ljava/lang/Object;
         2: .line 166
            aload 0 /* this */
            invokestatic java.util.Collections.emptyList:()Ljava/util/List;
            putfield android.os.ZygoteProcess.mApiBlacklistExemptions:Ljava/util/List;
         3: .line 79
            aload 0 /* this */
            aload 1 /* primarySocket */
            putfield android.os.ZygoteProcess.mSocket:Landroid/net/LocalSocketAddress;
         4: .line 80
            aload 0 /* this */
            aload 2 /* secondarySocket */
            putfield android.os.ZygoteProcess.mSecondarySocket:Landroid/net/LocalSocketAddress;
         5: .line 81
            return
        end local 2 // android.net.LocalSocketAddress secondarySocket
        end local 1 // android.net.LocalSocketAddress primarySocket
        end local 0 // android.os.ZygoteProcess this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    6     0             this  Landroid/os/ZygoteProcess;
            0    6     1    primarySocket  Landroid/net/LocalSocketAddress;
            0    6     2  secondarySocket  Landroid/net/LocalSocketAddress;
    MethodParameters:
                 Name  Flags
      primarySocket    
      secondarySocket  

  public android.net.LocalSocketAddress getPrimarySocketAddress();
    descriptor: ()Landroid/net/LocalSocketAddress;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.os.ZygoteProcess this
         0: .line 84
            aload 0 /* this */
            getfield android.os.ZygoteProcess.mSocket:Landroid/net/LocalSocketAddress;
            areturn
        end local 0 // android.os.ZygoteProcess this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/os/ZygoteProcess;

  public final android.os.Process$ProcessStartResult start(java.lang.String, java.lang.String, int, int, int[], int, int, int, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String[]);
    descriptor: (Ljava/lang/String;Ljava/lang/String;II[IIIILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)Landroid/os/Process$ProcessStartResult;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=16, locals=16, args_size=15
        start local 0 // android.os.ZygoteProcess this
        start local 1 // java.lang.String processClass
        start local 2 // java.lang.String niceName
        start local 3 // int uid
        start local 4 // int gid
        start local 5 // int[] gids
        start local 6 // int runtimeFlags
        start local 7 // int mountExternal
        start local 8 // int targetSdkVersion
        start local 9 // java.lang.String seInfo
        start local 10 // java.lang.String abi
        start local 11 // java.lang.String instructionSet
        start local 12 // java.lang.String appDataDir
        start local 13 // java.lang.String invokeWith
        start local 14 // java.lang.String[] zygoteArgs
         0: .line 232
            aload 0 /* this */
            aload 1 /* processClass */
            aload 2 /* niceName */
            iload 3 /* uid */
            iload 4 /* gid */
            aload 5 /* gids */
         1: .line 233
            iload 6 /* runtimeFlags */
            iload 7 /* mountExternal */
            iload 8 /* targetSdkVersion */
            aload 9 /* seInfo */
         2: .line 234
            aload 10 /* abi */
            aload 11 /* instructionSet */
            aload 12 /* appDataDir */
            aload 13 /* invokeWith */
            iconst_0
         3: .line 235
            aload 14 /* zygoteArgs */
         4: .line 232
            invokevirtual android.os.ZygoteProcess.startViaZygote:(Ljava/lang/String;Ljava/lang/String;II[IIIILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Z[Ljava/lang/String;)Landroid/os/Process$ProcessStartResult;
         5: areturn
         6: .line 236
      StackMap locals:
      StackMap stack: android.os.ZygoteStartFailedEx
            astore 15 /* ex */
        start local 15 // android.os.ZygoteStartFailedEx ex
         7: .line 237
            ldc "ZygoteProcess"
         8: .line 238
            ldc "Starting VM process through Zygote failed"
         9: .line 237
            invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;)I
            pop
        10: .line 239
            new java.lang.RuntimeException
            dup
        11: .line 240
            ldc "Starting VM process through Zygote failed"
            aload 15 /* ex */
        12: .line 239
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 15 // android.os.ZygoteStartFailedEx ex
        end local 14 // java.lang.String[] zygoteArgs
        end local 13 // java.lang.String invokeWith
        end local 12 // java.lang.String appDataDir
        end local 11 // java.lang.String instructionSet
        end local 10 // java.lang.String abi
        end local 9 // java.lang.String seInfo
        end local 8 // int targetSdkVersion
        end local 7 // int mountExternal
        end local 6 // int runtimeFlags
        end local 5 // int[] gids
        end local 4 // int gid
        end local 3 // int uid
        end local 2 // java.lang.String niceName
        end local 1 // java.lang.String processClass
        end local 0 // android.os.ZygoteProcess this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   13     0              this  Landroid/os/ZygoteProcess;
            0   13     1      processClass  Ljava/lang/String;
            0   13     2          niceName  Ljava/lang/String;
            0   13     3               uid  I
            0   13     4               gid  I
            0   13     5              gids  [I
            0   13     6      runtimeFlags  I
            0   13     7     mountExternal  I
            0   13     8  targetSdkVersion  I
            0   13     9            seInfo  Ljava/lang/String;
            0   13    10               abi  Ljava/lang/String;
            0   13    11    instructionSet  Ljava/lang/String;
            0   13    12        appDataDir  Ljava/lang/String;
            0   13    13        invokeWith  Ljava/lang/String;
            0   13    14        zygoteArgs  [Ljava/lang/String;
            7   13    15                ex  Landroid/os/ZygoteStartFailedEx;
      Exception table:
        from    to  target  type
           0     5       6  Class android.os.ZygoteStartFailedEx
    MethodParameters:
                  Name  Flags
      processClass      final
      niceName          final
      uid               
      gid               
      gids              
      runtimeFlags      
      mountExternal     
      targetSdkVersion  
      seInfo            
      abi               
      instructionSet    
      appDataDir        
      invokeWith        
      zygoteArgs        

  private static java.lang.String getAbiList(java.io.BufferedWriter, java.io.DataInputStream);
    descriptor: (Ljava/io/BufferedWriter;Ljava/io/DataInputStream;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // java.io.BufferedWriter writer
        start local 1 // java.io.DataInputStream inputStream
         0: .line 256
            aload 0 /* writer */
            ldc "1"
            invokevirtual java.io.BufferedWriter.write:(Ljava/lang/String;)V
         1: .line 258
            aload 0 /* writer */
            invokevirtual java.io.BufferedWriter.newLine:()V
         2: .line 260
            aload 0 /* writer */
            ldc "--query-abi-list"
            invokevirtual java.io.BufferedWriter.write:(Ljava/lang/String;)V
         3: .line 261
            aload 0 /* writer */
            invokevirtual java.io.BufferedWriter.newLine:()V
         4: .line 262
            aload 0 /* writer */
            invokevirtual java.io.BufferedWriter.flush:()V
         5: .line 265
            aload 1 /* inputStream */
            invokevirtual java.io.DataInputStream.readInt:()I
            istore 2 /* numBytes */
        start local 2 // int numBytes
         6: .line 266
            iload 2 /* numBytes */
            newarray 8
            astore 3 /* bytes */
        start local 3 // byte[] bytes
         7: .line 267
            aload 1 /* inputStream */
            aload 3 /* bytes */
            invokevirtual java.io.DataInputStream.readFully:([B)V
         8: .line 269
            new java.lang.String
            dup
            aload 3 /* bytes */
            getstatic java.nio.charset.StandardCharsets.US_ASCII:Ljava/nio/charset/Charset;
            invokespecial java.lang.String.<init>:([BLjava/nio/charset/Charset;)V
            areturn
        end local 3 // byte[] bytes
        end local 2 // int numBytes
        end local 1 // java.io.DataInputStream inputStream
        end local 0 // java.io.BufferedWriter writer
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    9     0       writer  Ljava/io/BufferedWriter;
            0    9     1  inputStream  Ljava/io/DataInputStream;
            6    9     2     numBytes  I
            7    9     3        bytes  [B
    Exceptions:
      throws java.io.IOException
    RuntimeInvisibleAnnotations: 
      com.android.internal.annotations.GuardedBy(value = "mLock")
    MethodParameters:
             Name  Flags
      writer       
      inputStream  

  private static android.os.Process$ProcessStartResult zygoteSendArgsAndGetResult(android.os.ZygoteProcess$ZygoteState, java.util.ArrayList<java.lang.String>);
    descriptor: (Landroid/os/ZygoteProcess$ZygoteState;Ljava/util/ArrayList;)Landroid/os/Process$ProcessStartResult;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=7, args_size=2
        start local 0 // android.os.ZygoteProcess$ZygoteState zygoteState
        start local 1 // java.util.ArrayList args
         0: .line 286
            aload 1 /* args */
            invokevirtual java.util.ArrayList.size:()I
            istore 2 /* sz */
        start local 2 // int sz
         1: .line 287
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         2: goto 6
         3: .line 288
      StackMap locals: int int
      StackMap stack:
            aload 1 /* args */
            iload 3 /* i */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast java.lang.String
            bipush 10
            invokevirtual java.lang.String.indexOf:(I)I
            iflt 5
         4: .line 289
            new android.os.ZygoteStartFailedEx
            dup
            ldc "embedded newlines not allowed"
            invokespecial android.os.ZygoteStartFailedEx.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 287
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 3 /* i */
            iload 2 /* sz */
            if_icmplt 3
        end local 3 // int i
         7: .line 303
            aload 0 /* zygoteState */
            getfield android.os.ZygoteProcess$ZygoteState.writer:Ljava/io/BufferedWriter;
            astore 3 /* writer */
        start local 3 // java.io.BufferedWriter writer
         8: .line 304
            aload 0 /* zygoteState */
            getfield android.os.ZygoteProcess$ZygoteState.inputStream:Ljava/io/DataInputStream;
            astore 4 /* inputStream */
        start local 4 // java.io.DataInputStream inputStream
         9: .line 306
            aload 3 /* writer */
            aload 1 /* args */
            invokevirtual java.util.ArrayList.size:()I
            invokestatic java.lang.Integer.toString:(I)Ljava/lang/String;
            invokevirtual java.io.BufferedWriter.write:(Ljava/lang/String;)V
        10: .line 307
            aload 3 /* writer */
            invokevirtual java.io.BufferedWriter.newLine:()V
        11: .line 309
            iconst_0
            istore 5 /* i */
        start local 5 // int i
        12: goto 17
        13: .line 310
      StackMap locals: android.os.ZygoteProcess$ZygoteState java.util.ArrayList int java.io.BufferedWriter java.io.DataInputStream int
      StackMap stack:
            aload 1 /* args */
            iload 5 /* i */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast java.lang.String
            astore 6 /* arg */
        start local 6 // java.lang.String arg
        14: .line 311
            aload 3 /* writer */
            aload 6 /* arg */
            invokevirtual java.io.BufferedWriter.write:(Ljava/lang/String;)V
        15: .line 312
            aload 3 /* writer */
            invokevirtual java.io.BufferedWriter.newLine:()V
        end local 6 // java.lang.String arg
        16: .line 309
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        17: iload 5 /* i */
            iload 2 /* sz */
            if_icmplt 13
        end local 5 // int i
        18: .line 315
            aload 3 /* writer */
            invokevirtual java.io.BufferedWriter.flush:()V
        19: .line 318
            new android.os.Process$ProcessStartResult
            dup
            invokespecial android.os.Process$ProcessStartResult.<init>:()V
            astore 5 /* result */
        start local 5 // android.os.Process$ProcessStartResult result
        20: .line 323
            aload 5 /* result */
            aload 4 /* inputStream */
            invokevirtual java.io.DataInputStream.readInt:()I
            putfield android.os.Process$ProcessStartResult.pid:I
        21: .line 324
            aload 5 /* result */
            aload 4 /* inputStream */
            invokevirtual java.io.DataInputStream.readBoolean:()Z
            putfield android.os.Process$ProcessStartResult.usingWrapper:Z
        22: .line 326
            aload 5 /* result */
            getfield android.os.Process$ProcessStartResult.pid:I
            ifge 24
        23: .line 327
            new android.os.ZygoteStartFailedEx
            dup
            ldc "fork() failed"
            invokespecial android.os.ZygoteStartFailedEx.<init>:(Ljava/lang/String;)V
            athrow
        24: .line 329
      StackMap locals: android.os.ZygoteProcess$ZygoteState java.util.ArrayList int java.io.BufferedWriter java.io.DataInputStream android.os.Process$ProcessStartResult
      StackMap stack:
            aload 5 /* result */
        25: areturn
        end local 5 // android.os.Process$ProcessStartResult result
        end local 4 // java.io.DataInputStream inputStream
        end local 3 // java.io.BufferedWriter writer
        end local 2 // int sz
        26: .line 330
      StackMap locals: android.os.ZygoteProcess$ZygoteState java.util.ArrayList
      StackMap stack: java.io.IOException
            astore 2 /* ex */
        start local 2 // java.io.IOException ex
        27: .line 331
            aload 0 /* zygoteState */
            invokevirtual android.os.ZygoteProcess$ZygoteState.close:()V
        28: .line 332
            new android.os.ZygoteStartFailedEx
            dup
            aload 2 /* ex */
            invokespecial android.os.ZygoteStartFailedEx.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 2 // java.io.IOException ex
        end local 1 // java.util.ArrayList args
        end local 0 // android.os.ZygoteProcess$ZygoteState zygoteState
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   29     0  zygoteState  Landroid/os/ZygoteProcess$ZygoteState;
            0   29     1         args  Ljava/util/ArrayList<Ljava/lang/String;>;
            1   26     2           sz  I
            2    7     3            i  I
            8   26     3       writer  Ljava/io/BufferedWriter;
            9   26     4  inputStream  Ljava/io/DataInputStream;
           12   18     5            i  I
           14   16     6          arg  Ljava/lang/String;
           20   26     5       result  Landroid/os/Process$ProcessStartResult;
           27   29     2           ex  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           0    25      26  Class java.io.IOException
    Exceptions:
      throws android.os.ZygoteStartFailedEx
    Signature: (Landroid/os/ZygoteProcess$ZygoteState;Ljava/util/ArrayList<Ljava/lang/String;>;)Landroid/os/Process$ProcessStartResult;
    RuntimeInvisibleAnnotations: 
      com.android.internal.annotations.GuardedBy(value = "mLock")
    MethodParameters:
             Name  Flags
      zygoteState  
      args         

  private android.os.Process$ProcessStartResult startViaZygote(java.lang.String, java.lang.String, int, int, int[], int, int, int, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, boolean, java.lang.String[]);
    descriptor: (Ljava/lang/String;Ljava/lang/String;II[IIIILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Z[Ljava/lang/String;)Landroid/os/Process$ProcessStartResult;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=21, args_size=16
        start local 0 // android.os.ZygoteProcess this
        start local 1 // java.lang.String processClass
        start local 2 // java.lang.String niceName
        start local 3 // int uid
        start local 4 // int gid
        start local 5 // int[] gids
        start local 6 // int runtimeFlags
        start local 7 // int mountExternal
        start local 8 // int targetSdkVersion
        start local 9 // java.lang.String seInfo
        start local 10 // java.lang.String abi
        start local 11 // java.lang.String instructionSet
        start local 12 // java.lang.String appDataDir
        start local 13 // java.lang.String invokeWith
        start local 14 // boolean startChildZygote
        start local 15 // java.lang.String[] extraArgs
         0: .line 371
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 16 /* argsForZygote */
        start local 16 // java.util.ArrayList argsForZygote
         1: .line 375
            aload 16 /* argsForZygote */
            ldc "--runtime-args"
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         2: .line 376
            aload 16 /* argsForZygote */
            new java.lang.StringBuilder
            dup
            ldc "--setuid="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 3 /* uid */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         3: .line 377
            aload 16 /* argsForZygote */
            new java.lang.StringBuilder
            dup
            ldc "--setgid="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 4 /* gid */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         4: .line 378
            aload 16 /* argsForZygote */
            new java.lang.StringBuilder
            dup
            ldc "--runtime-flags="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 6 /* runtimeFlags */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         5: .line 379
            iload 7 /* mountExternal */
            iconst_1
            if_icmpne 8
         6: .line 380
            aload 16 /* argsForZygote */
            ldc "--mount-external-default"
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         7: .line 381
            goto 13
      StackMap locals: java.util.ArrayList
      StackMap stack:
         8: iload 7 /* mountExternal */
            iconst_2
            if_icmpne 11
         9: .line 382
            aload 16 /* argsForZygote */
            ldc "--mount-external-read"
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        10: .line 383
            goto 13
      StackMap locals:
      StackMap stack:
        11: iload 7 /* mountExternal */
            iconst_3
            if_icmpne 13
        12: .line 384
            aload 16 /* argsForZygote */
            ldc "--mount-external-write"
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        13: .line 386
      StackMap locals:
      StackMap stack:
            aload 16 /* argsForZygote */
            new java.lang.StringBuilder
            dup
            ldc "--target-sdk-version="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 8 /* targetSdkVersion */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        14: .line 389
            aload 5 /* gids */
            ifnull 26
            aload 5 /* gids */
            arraylength
            ifle 26
        15: .line 390
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 17 /* sb */
        start local 17 // java.lang.StringBuilder sb
        16: .line 391
            aload 17 /* sb */
            ldc "--setgroups="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        17: .line 393
            aload 5 /* gids */
            arraylength
            istore 18 /* sz */
        start local 18 // int sz
        18: .line 394
            iconst_0
            istore 19 /* i */
        start local 19 // int i
        19: goto 24
        20: .line 395
      StackMap locals: java.lang.StringBuilder int int
      StackMap stack:
            iload 19 /* i */
            ifeq 22
        21: .line 396
            aload 17 /* sb */
            bipush 44
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        22: .line 398
      StackMap locals:
      StackMap stack:
            aload 17 /* sb */
            aload 5 /* gids */
            iload 19 /* i */
            iaload
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            pop
        23: .line 394
            iinc 19 /* i */ 1
      StackMap locals:
      StackMap stack:
        24: iload 19 /* i */
            iload 18 /* sz */
            if_icmplt 20
        end local 19 // int i
        25: .line 401
            aload 16 /* argsForZygote */
            aload 17 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        end local 18 // int sz
        end local 17 // java.lang.StringBuilder sb
        26: .line 404
      StackMap locals:
      StackMap stack:
            aload 2 /* niceName */
            ifnull 28
        27: .line 405
            aload 16 /* argsForZygote */
            new java.lang.StringBuilder
            dup
            ldc "--nice-name="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* niceName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        28: .line 408
      StackMap locals:
      StackMap stack:
            aload 9 /* seInfo */
            ifnull 30
        29: .line 409
            aload 16 /* argsForZygote */
            new java.lang.StringBuilder
            dup
            ldc "--seinfo="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 9 /* seInfo */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        30: .line 412
      StackMap locals:
      StackMap stack:
            aload 11 /* instructionSet */
            ifnull 32
        31: .line 413
            aload 16 /* argsForZygote */
            new java.lang.StringBuilder
            dup
            ldc "--instruction-set="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 11 /* instructionSet */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        32: .line 416
      StackMap locals:
      StackMap stack:
            aload 12 /* appDataDir */
            ifnull 34
        33: .line 417
            aload 16 /* argsForZygote */
            new java.lang.StringBuilder
            dup
            ldc "--app-data-dir="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 12 /* appDataDir */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        34: .line 420
      StackMap locals:
      StackMap stack:
            aload 13 /* invokeWith */
            ifnull 37
        35: .line 421
            aload 16 /* argsForZygote */
            ldc "--invoke-with"
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        36: .line 422
            aload 16 /* argsForZygote */
            aload 13 /* invokeWith */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        37: .line 425
      StackMap locals:
      StackMap stack:
            iload 14 /* startChildZygote */
            ifeq 39
        38: .line 426
            aload 16 /* argsForZygote */
            ldc "--start-child-zygote"
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        39: .line 429
      StackMap locals:
      StackMap stack:
            aload 16 /* argsForZygote */
            aload 1 /* processClass */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        40: .line 431
            aload 15 /* extraArgs */
            ifnull 46
        41: .line 432
            aload 15 /* extraArgs */
            dup
            astore 20
            arraylength
            istore 19
            iconst_0
            istore 18
            goto 45
      StackMap locals: android.os.ZygoteProcess java.lang.String java.lang.String int int int[] int int int java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String int java.lang.String[] java.util.ArrayList top int int java.lang.String[]
      StackMap stack:
        42: aload 20
            iload 18
            aaload
            astore 17 /* arg */
        start local 17 // java.lang.String arg
        43: .line 433
            aload 16 /* argsForZygote */
            aload 17 /* arg */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        end local 17 // java.lang.String arg
        44: .line 432
            iinc 18 1
      StackMap locals:
      StackMap stack:
        45: iload 18
            iload 19
            if_icmplt 42
        46: .line 437
      StackMap locals: android.os.ZygoteProcess java.lang.String java.lang.String int int int[] int int int java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String int java.lang.String[] java.util.ArrayList
      StackMap stack:
            aload 0 /* this */
            getfield android.os.ZygoteProcess.mLock:Ljava/lang/Object;
            dup
            astore 17
            monitorenter
        47: .line 438
            aload 0 /* this */
            aload 10 /* abi */
            invokevirtual android.os.ZygoteProcess.openZygoteSocketIfNeeded:(Ljava/lang/String;)Landroid/os/ZygoteProcess$ZygoteState;
            aload 16 /* argsForZygote */
            invokestatic android.os.ZygoteProcess.zygoteSendArgsAndGetResult:(Landroid/os/ZygoteProcess$ZygoteState;Ljava/util/ArrayList;)Landroid/os/Process$ProcessStartResult;
            aload 17
            monitorexit
        48: areturn
        49: .line 437
      StackMap locals: android.os.ZygoteProcess java.lang.String java.lang.String int int int[] int int int java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String int java.lang.String[] java.util.ArrayList java.lang.Object
      StackMap stack: java.lang.Throwable
            aload 17
            monitorexit
        50: athrow
        end local 16 // java.util.ArrayList argsForZygote
        end local 15 // java.lang.String[] extraArgs
        end local 14 // boolean startChildZygote
        end local 13 // java.lang.String invokeWith
        end local 12 // java.lang.String appDataDir
        end local 11 // java.lang.String instructionSet
        end local 10 // java.lang.String abi
        end local 9 // java.lang.String seInfo
        end local 8 // int targetSdkVersion
        end local 7 // int mountExternal
        end local 6 // int runtimeFlags
        end local 5 // int[] gids
        end local 4 // int gid
        end local 3 // int uid
        end local 2 // java.lang.String niceName
        end local 1 // java.lang.String processClass
        end local 0 // android.os.ZygoteProcess this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   51     0              this  Landroid/os/ZygoteProcess;
            0   51     1      processClass  Ljava/lang/String;
            0   51     2          niceName  Ljava/lang/String;
            0   51     3               uid  I
            0   51     4               gid  I
            0   51     5              gids  [I
            0   51     6      runtimeFlags  I
            0   51     7     mountExternal  I
            0   51     8  targetSdkVersion  I
            0   51     9            seInfo  Ljava/lang/String;
            0   51    10               abi  Ljava/lang/String;
            0   51    11    instructionSet  Ljava/lang/String;
            0   51    12        appDataDir  Ljava/lang/String;
            0   51    13        invokeWith  Ljava/lang/String;
            0   51    14  startChildZygote  Z
            0   51    15         extraArgs  [Ljava/lang/String;
            1   51    16     argsForZygote  Ljava/util/ArrayList<Ljava/lang/String;>;
           16   26    17                sb  Ljava/lang/StringBuilder;
           18   26    18                sz  I
           19   25    19                 i  I
           43   44    17               arg  Ljava/lang/String;
      Exception table:
        from    to  target  type
          47    48      49  any
          49    50      49  any
    Exceptions:
      throws android.os.ZygoteStartFailedEx
    MethodParameters:
                  Name  Flags
      processClass      final
      niceName          final
      uid               final
      gid               final
      gids              final
      runtimeFlags      
      mountExternal     
      targetSdkVersion  
      seInfo            
      abi               
      instructionSet    
      appDataDir        
      invokeWith        
      startChildZygote  
      extraArgs         

  public void close();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.os.ZygoteProcess this
         0: .line 446
            aload 0 /* this */
            getfield android.os.ZygoteProcess.primaryZygoteState:Landroid/os/ZygoteProcess$ZygoteState;
            ifnull 2
         1: .line 447
            aload 0 /* this */
            getfield android.os.ZygoteProcess.primaryZygoteState:Landroid/os/ZygoteProcess$ZygoteState;
            invokevirtual android.os.ZygoteProcess$ZygoteState.close:()V
         2: .line 449
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.os.ZygoteProcess.secondaryZygoteState:Landroid/os/ZygoteProcess$ZygoteState;
            ifnull 4
         3: .line 450
            aload 0 /* this */
            getfield android.os.ZygoteProcess.secondaryZygoteState:Landroid/os/ZygoteProcess$ZygoteState;
            invokevirtual android.os.ZygoteProcess$ZygoteState.close:()V
         4: .line 452
      StackMap locals:
      StackMap stack:
            return
        end local 0 // android.os.ZygoteProcess this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Landroid/os/ZygoteProcess;

  public void establishZygoteConnectionForAbi(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // android.os.ZygoteProcess this
        start local 1 // java.lang.String abi
         0: .line 461
            aload 0 /* this */
            getfield android.os.ZygoteProcess.mLock:Ljava/lang/Object;
            dup
            astore 2
            monitorenter
         1: .line 462
            aload 0 /* this */
            aload 1 /* abi */
            invokevirtual android.os.ZygoteProcess.openZygoteSocketIfNeeded:(Ljava/lang/String;)Landroid/os/ZygoteProcess$ZygoteState;
            pop
         2: .line 461
            aload 2
            monitorexit
         3: goto 8
      StackMap locals: android.os.ZygoteProcess java.lang.String java.lang.Object
      StackMap stack: java.lang.Throwable
         4: aload 2
            monitorexit
         5: athrow
         6: .line 464
      StackMap locals: android.os.ZygoteProcess java.lang.String
      StackMap stack: android.os.ZygoteStartFailedEx
            astore 2 /* ex */
        start local 2 // android.os.ZygoteStartFailedEx ex
         7: .line 465
            new java.lang.RuntimeException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unable to connect to zygote for abi: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* abi */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 2 /* ex */
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 2 // android.os.ZygoteStartFailedEx ex
         8: .line 467
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.String abi
        end local 0 // android.os.ZygoteProcess this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Landroid/os/ZygoteProcess;
            0    9     1   abi  Ljava/lang/String;
            7    8     2    ex  Landroid/os/ZygoteStartFailedEx;
      Exception table:
        from    to  target  type
           1     3       4  any
           4     5       4  any
           0     6       6  Class android.os.ZygoteStartFailedEx
    MethodParameters:
      Name  Flags
      abi   

  public boolean setApiBlacklistExemptions(java.util.List<java.lang.String>);
    descriptor: (Ljava/util/List;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // android.os.ZygoteProcess this
        start local 1 // java.util.List exemptions
         0: .line 479
            aload 0 /* this */
            getfield android.os.ZygoteProcess.mLock:Ljava/lang/Object;
            dup
            astore 2
            monitorenter
         1: .line 480
            aload 0 /* this */
            aload 1 /* exemptions */
            putfield android.os.ZygoteProcess.mApiBlacklistExemptions:Ljava/util/List;
         2: .line 481
            aload 0 /* this */
            aload 0 /* this */
            getfield android.os.ZygoteProcess.primaryZygoteState:Landroid/os/ZygoteProcess$ZygoteState;
            iconst_1
            invokevirtual android.os.ZygoteProcess.maybeSetApiBlacklistExemptions:(Landroid/os/ZygoteProcess$ZygoteState;Z)Z
            istore 3 /* ok */
        start local 3 // boolean ok
         3: .line 482
            iload 3 /* ok */
            ifeq 5
         4: .line 483
            aload 0 /* this */
            aload 0 /* this */
            getfield android.os.ZygoteProcess.secondaryZygoteState:Landroid/os/ZygoteProcess$ZygoteState;
            iconst_1
            invokevirtual android.os.ZygoteProcess.maybeSetApiBlacklistExemptions:(Landroid/os/ZygoteProcess$ZygoteState;Z)Z
            istore 3 /* ok */
         5: .line 485
      StackMap locals: java.lang.Object int
      StackMap stack:
            iload 3 /* ok */
            aload 2
            monitorexit
         6: ireturn
        end local 3 // boolean ok
         7: .line 479
      StackMap locals: android.os.ZygoteProcess java.util.List java.lang.Object
      StackMap stack: java.lang.Throwable
            aload 2
            monitorexit
         8: athrow
        end local 1 // java.util.List exemptions
        end local 0 // android.os.ZygoteProcess this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    9     0        this  Landroid/os/ZygoteProcess;
            0    9     1  exemptions  Ljava/util/List<Ljava/lang/String;>;
            3    7     3          ok  Z
      Exception table:
        from    to  target  type
           1     6       7  any
           7     8       7  any
    Signature: (Ljava/util/List<Ljava/lang/String;>;)Z
    MethodParameters:
            Name  Flags
      exemptions  

  public void setHiddenApiAccessLogSampleRate(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // android.os.ZygoteProcess this
        start local 1 // int rate
         0: .line 497
            aload 0 /* this */
            getfield android.os.ZygoteProcess.mLock:Ljava/lang/Object;
            dup
            astore 2
            monitorenter
         1: .line 498
            aload 0 /* this */
            iload 1 /* rate */
            putfield android.os.ZygoteProcess.mHiddenApiAccessLogSampleRate:I
         2: .line 499
            aload 0 /* this */
            aload 0 /* this */
            getfield android.os.ZygoteProcess.primaryZygoteState:Landroid/os/ZygoteProcess$ZygoteState;
            invokevirtual android.os.ZygoteProcess.maybeSetHiddenApiAccessLogSampleRate:(Landroid/os/ZygoteProcess$ZygoteState;)V
         3: .line 500
            aload 0 /* this */
            aload 0 /* this */
            getfield android.os.ZygoteProcess.secondaryZygoteState:Landroid/os/ZygoteProcess$ZygoteState;
            invokevirtual android.os.ZygoteProcess.maybeSetHiddenApiAccessLogSampleRate:(Landroid/os/ZygoteProcess$ZygoteState;)V
         4: .line 497
            aload 2
            monitorexit
         5: goto 8
      StackMap locals: android.os.ZygoteProcess int java.lang.Object
      StackMap stack: java.lang.Throwable
         6: aload 2
            monitorexit
         7: athrow
         8: .line 502
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int rate
        end local 0 // android.os.ZygoteProcess this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Landroid/os/ZygoteProcess;
            0    9     1  rate  I
      Exception table:
        from    to  target  type
           1     5       6  any
           6     7       6  any
    MethodParameters:
      Name  Flags
      rate  

  private boolean maybeSetApiBlacklistExemptions(android.os.ZygoteProcess$ZygoteState, boolean);
    descriptor: (Landroid/os/ZygoteProcess$ZygoteState;Z)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // android.os.ZygoteProcess this
        start local 1 // android.os.ZygoteProcess$ZygoteState state
        start local 2 // boolean sendIfEmpty
         0: .line 506
            aload 1 /* state */
            ifnull 1
            aload 1 /* state */
            invokevirtual android.os.ZygoteProcess$ZygoteState.isClosed:()Z
            ifeq 3
         1: .line 507
      StackMap locals:
      StackMap stack:
            ldc "ZygoteProcess"
            ldc "Can't set API blacklist exemptions: no zygote connection"
            invokestatic android.util.Slog.e:(Ljava/lang/String;Ljava/lang/String;)I
            pop
         2: .line 508
            iconst_0
            ireturn
         3: .line 510
      StackMap locals:
      StackMap stack:
            iload 2 /* sendIfEmpty */
            ifne 5
            aload 0 /* this */
            getfield android.os.ZygoteProcess.mApiBlacklistExemptions:Ljava/util/List;
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 5
         4: .line 511
            iconst_1
            ireturn
         5: .line 514
      StackMap locals:
      StackMap stack:
            aload 1 /* state */
            getfield android.os.ZygoteProcess$ZygoteState.writer:Ljava/io/BufferedWriter;
            aload 0 /* this */
            getfield android.os.ZygoteProcess.mApiBlacklistExemptions:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            iconst_1
            iadd
            invokestatic java.lang.Integer.toString:(I)Ljava/lang/String;
            invokevirtual java.io.BufferedWriter.write:(Ljava/lang/String;)V
         6: .line 515
            aload 1 /* state */
            getfield android.os.ZygoteProcess$ZygoteState.writer:Ljava/io/BufferedWriter;
            invokevirtual java.io.BufferedWriter.newLine:()V
         7: .line 516
            aload 1 /* state */
            getfield android.os.ZygoteProcess$ZygoteState.writer:Ljava/io/BufferedWriter;
            ldc "--set-api-blacklist-exemptions"
            invokevirtual java.io.BufferedWriter.write:(Ljava/lang/String;)V
         8: .line 517
            aload 1 /* state */
            getfield android.os.ZygoteProcess$ZygoteState.writer:Ljava/io/BufferedWriter;
            invokevirtual java.io.BufferedWriter.newLine:()V
         9: .line 518
            iconst_0
            istore 3 /* i */
        start local 3 // int i
        10: goto 14
        11: .line 519
      StackMap locals: int
      StackMap stack:
            aload 1 /* state */
            getfield android.os.ZygoteProcess$ZygoteState.writer:Ljava/io/BufferedWriter;
            aload 0 /* this */
            getfield android.os.ZygoteProcess.mApiBlacklistExemptions:Ljava/util/List;
            iload 3 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.lang.String
            invokevirtual java.io.BufferedWriter.write:(Ljava/lang/String;)V
        12: .line 520
            aload 1 /* state */
            getfield android.os.ZygoteProcess$ZygoteState.writer:Ljava/io/BufferedWriter;
            invokevirtual java.io.BufferedWriter.newLine:()V
        13: .line 518
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        14: iload 3 /* i */
            aload 0 /* this */
            getfield android.os.ZygoteProcess.mApiBlacklistExemptions:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            if_icmplt 11
        end local 3 // int i
        15: .line 522
            aload 1 /* state */
            getfield android.os.ZygoteProcess$ZygoteState.writer:Ljava/io/BufferedWriter;
            invokevirtual java.io.BufferedWriter.flush:()V
        16: .line 523
            aload 1 /* state */
            getfield android.os.ZygoteProcess$ZygoteState.inputStream:Ljava/io/DataInputStream;
            invokevirtual java.io.DataInputStream.readInt:()I
            istore 3 /* status */
        start local 3 // int status
        17: .line 524
            iload 3 /* status */
            ifeq 19
        18: .line 525
            ldc "ZygoteProcess"
            new java.lang.StringBuilder
            dup
            ldc "Failed to set API blacklist exemptions; status "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 3 /* status */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic android.util.Slog.e:(Ljava/lang/String;Ljava/lang/String;)I
            pop
        19: .line 527
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 3 // int status
        20: .line 528
      StackMap locals: android.os.ZygoteProcess android.os.ZygoteProcess$ZygoteState int
      StackMap stack: java.io.IOException
            astore 3 /* ioe */
        start local 3 // java.io.IOException ioe
        21: .line 529
            ldc "ZygoteProcess"
            ldc "Failed to set API blacklist exemptions"
            aload 3 /* ioe */
            invokestatic android.util.Slog.e:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
            pop
        22: .line 530
            aload 0 /* this */
            invokestatic java.util.Collections.emptyList:()Ljava/util/List;
            putfield android.os.ZygoteProcess.mApiBlacklistExemptions:Ljava/util/List;
        23: .line 531
            iconst_0
            ireturn
        end local 3 // java.io.IOException ioe
        end local 2 // boolean sendIfEmpty
        end local 1 // android.os.ZygoteProcess$ZygoteState state
        end local 0 // android.os.ZygoteProcess this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   24     0         this  Landroid/os/ZygoteProcess;
            0   24     1        state  Landroid/os/ZygoteProcess$ZygoteState;
            0   24     2  sendIfEmpty  Z
           10   15     3            i  I
           17   20     3       status  I
           21   24     3          ioe  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           5    19      20  Class java.io.IOException
    RuntimeInvisibleAnnotations: 
      com.android.internal.annotations.GuardedBy(value = "mLock")
    MethodParameters:
             Name  Flags
      state        
      sendIfEmpty  

  private void maybeSetHiddenApiAccessLogSampleRate(android.os.ZygoteProcess$ZygoteState);
    descriptor: (Landroid/os/ZygoteProcess$ZygoteState;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // android.os.ZygoteProcess this
        start local 1 // android.os.ZygoteProcess$ZygoteState state
         0: .line 536
            aload 1 /* state */
            ifnull 1
            aload 1 /* state */
            invokevirtual android.os.ZygoteProcess$ZygoteState.isClosed:()Z
            ifeq 2
         1: .line 537
      StackMap locals:
      StackMap stack:
            return
         2: .line 539
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.os.ZygoteProcess.mHiddenApiAccessLogSampleRate:I
            iconst_m1
            if_icmpne 4
         3: .line 540
            return
         4: .line 543
      StackMap locals:
      StackMap stack:
            aload 1 /* state */
            getfield android.os.ZygoteProcess$ZygoteState.writer:Ljava/io/BufferedWriter;
            iconst_1
            invokestatic java.lang.Integer.toString:(I)Ljava/lang/String;
            invokevirtual java.io.BufferedWriter.write:(Ljava/lang/String;)V
         5: .line 544
            aload 1 /* state */
            getfield android.os.ZygoteProcess$ZygoteState.writer:Ljava/io/BufferedWriter;
            invokevirtual java.io.BufferedWriter.newLine:()V
         6: .line 545
            aload 1 /* state */
            getfield android.os.ZygoteProcess$ZygoteState.writer:Ljava/io/BufferedWriter;
            new java.lang.StringBuilder
            dup
            ldc "--hidden-api-log-sampling-rate="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         7: .line 546
            aload 0 /* this */
            getfield android.os.ZygoteProcess.mHiddenApiAccessLogSampleRate:I
            invokestatic java.lang.Integer.toString:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         8: .line 545
            invokevirtual java.io.BufferedWriter.write:(Ljava/lang/String;)V
         9: .line 547
            aload 1 /* state */
            getfield android.os.ZygoteProcess$ZygoteState.writer:Ljava/io/BufferedWriter;
            invokevirtual java.io.BufferedWriter.newLine:()V
        10: .line 548
            aload 1 /* state */
            getfield android.os.ZygoteProcess$ZygoteState.writer:Ljava/io/BufferedWriter;
            invokevirtual java.io.BufferedWriter.flush:()V
        11: .line 549
            aload 1 /* state */
            getfield android.os.ZygoteProcess$ZygoteState.inputStream:Ljava/io/DataInputStream;
            invokevirtual java.io.DataInputStream.readInt:()I
            istore 2 /* status */
        start local 2 // int status
        12: .line 550
            iload 2 /* status */
            ifeq 17
        13: .line 551
            ldc "ZygoteProcess"
            new java.lang.StringBuilder
            dup
            ldc "Failed to set hidden API log sampling rate; status "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 2 /* status */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic android.util.Slog.e:(Ljava/lang/String;Ljava/lang/String;)I
            pop
        end local 2 // int status
        14: .line 553
            goto 17
      StackMap locals:
      StackMap stack: java.io.IOException
        15: astore 2 /* ioe */
        start local 2 // java.io.IOException ioe
        16: .line 554
            ldc "ZygoteProcess"
            ldc "Failed to set hidden API log sampling rate"
            aload 2 /* ioe */
            invokestatic android.util.Slog.e:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
            pop
        end local 2 // java.io.IOException ioe
        17: .line 556
      StackMap locals:
      StackMap stack:
            return
        end local 1 // android.os.ZygoteProcess$ZygoteState state
        end local 0 // android.os.ZygoteProcess this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   18     0    this  Landroid/os/ZygoteProcess;
            0   18     1   state  Landroid/os/ZygoteProcess$ZygoteState;
           12   14     2  status  I
           16   17     2     ioe  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           4    14      15  Class java.io.IOException
    MethodParameters:
       Name  Flags
      state  

  private android.os.ZygoteProcess$ZygoteState openZygoteSocketIfNeeded(java.lang.String);
    descriptor: (Ljava/lang/String;)Landroid/os/ZygoteProcess$ZygoteState;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // android.os.ZygoteProcess this
        start local 1 // java.lang.String abi
         0: .line 564
            aload 0 /* this */
            getfield android.os.ZygoteProcess.mLock:Ljava/lang/Object;
            invokestatic java.lang.Thread.holdsLock:(Ljava/lang/Object;)Z
            ldc "ZygoteProcess lock not held"
            invokestatic com.android.internal.util.Preconditions.checkState:(ZLjava/lang/String;)V
         1: .line 566
            aload 0 /* this */
            getfield android.os.ZygoteProcess.primaryZygoteState:Landroid/os/ZygoteProcess$ZygoteState;
            ifnull 2
            aload 0 /* this */
            getfield android.os.ZygoteProcess.primaryZygoteState:Landroid/os/ZygoteProcess$ZygoteState;
            invokevirtual android.os.ZygoteProcess$ZygoteState.isClosed:()Z
            ifeq 8
         2: .line 568
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield android.os.ZygoteProcess.mSocket:Landroid/net/LocalSocketAddress;
            invokestatic android.os.ZygoteProcess$ZygoteState.connect:(Landroid/net/LocalSocketAddress;)Landroid/os/ZygoteProcess$ZygoteState;
            putfield android.os.ZygoteProcess.primaryZygoteState:Landroid/os/ZygoteProcess$ZygoteState;
         3: .line 569
            goto 6
      StackMap locals:
      StackMap stack: java.io.IOException
         4: astore 2 /* ioe */
        start local 2 // java.io.IOException ioe
         5: .line 570
            new android.os.ZygoteStartFailedEx
            dup
            ldc "Error connecting to primary zygote"
            aload 2 /* ioe */
            invokespecial android.os.ZygoteStartFailedEx.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 2 // java.io.IOException ioe
         6: .line 572
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield android.os.ZygoteProcess.primaryZygoteState:Landroid/os/ZygoteProcess$ZygoteState;
            iconst_0
            invokevirtual android.os.ZygoteProcess.maybeSetApiBlacklistExemptions:(Landroid/os/ZygoteProcess$ZygoteState;Z)Z
            pop
         7: .line 573
            aload 0 /* this */
            aload 0 /* this */
            getfield android.os.ZygoteProcess.primaryZygoteState:Landroid/os/ZygoteProcess$ZygoteState;
            invokevirtual android.os.ZygoteProcess.maybeSetHiddenApiAccessLogSampleRate:(Landroid/os/ZygoteProcess$ZygoteState;)V
         8: .line 575
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.os.ZygoteProcess.primaryZygoteState:Landroid/os/ZygoteProcess$ZygoteState;
            aload 1 /* abi */
            invokevirtual android.os.ZygoteProcess$ZygoteState.matches:(Ljava/lang/String;)Z
            ifeq 10
         9: .line 576
            aload 0 /* this */
            getfield android.os.ZygoteProcess.primaryZygoteState:Landroid/os/ZygoteProcess$ZygoteState;
            areturn
        10: .line 580
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.os.ZygoteProcess.secondaryZygoteState:Landroid/os/ZygoteProcess$ZygoteState;
            ifnull 11
            aload 0 /* this */
            getfield android.os.ZygoteProcess.secondaryZygoteState:Landroid/os/ZygoteProcess$ZygoteState;
            invokevirtual android.os.ZygoteProcess$ZygoteState.isClosed:()Z
            ifeq 17
        11: .line 582
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield android.os.ZygoteProcess.mSecondarySocket:Landroid/net/LocalSocketAddress;
            invokestatic android.os.ZygoteProcess$ZygoteState.connect:(Landroid/net/LocalSocketAddress;)Landroid/os/ZygoteProcess$ZygoteState;
            putfield android.os.ZygoteProcess.secondaryZygoteState:Landroid/os/ZygoteProcess$ZygoteState;
        12: .line 583
            goto 15
      StackMap locals:
      StackMap stack: java.io.IOException
        13: astore 2 /* ioe */
        start local 2 // java.io.IOException ioe
        14: .line 584
            new android.os.ZygoteStartFailedEx
            dup
            ldc "Error connecting to secondary zygote"
            aload 2 /* ioe */
            invokespecial android.os.ZygoteStartFailedEx.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 2 // java.io.IOException ioe
        15: .line 586
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield android.os.ZygoteProcess.secondaryZygoteState:Landroid/os/ZygoteProcess$ZygoteState;
            iconst_0
            invokevirtual android.os.ZygoteProcess.maybeSetApiBlacklistExemptions:(Landroid/os/ZygoteProcess$ZygoteState;Z)Z
            pop
        16: .line 587
            aload 0 /* this */
            aload 0 /* this */
            getfield android.os.ZygoteProcess.secondaryZygoteState:Landroid/os/ZygoteProcess$ZygoteState;
            invokevirtual android.os.ZygoteProcess.maybeSetHiddenApiAccessLogSampleRate:(Landroid/os/ZygoteProcess$ZygoteState;)V
        17: .line 590
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.os.ZygoteProcess.secondaryZygoteState:Landroid/os/ZygoteProcess$ZygoteState;
            aload 1 /* abi */
            invokevirtual android.os.ZygoteProcess$ZygoteState.matches:(Ljava/lang/String;)Z
            ifeq 19
        18: .line 591
            aload 0 /* this */
            getfield android.os.ZygoteProcess.secondaryZygoteState:Landroid/os/ZygoteProcess$ZygoteState;
            areturn
        19: .line 594
      StackMap locals:
      StackMap stack:
            new android.os.ZygoteStartFailedEx
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unsupported zygote ABI: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* abi */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial android.os.ZygoteStartFailedEx.<init>:(Ljava/lang/String;)V
            athrow
        end local 1 // java.lang.String abi
        end local 0 // android.os.ZygoteProcess this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   20     0  this  Landroid/os/ZygoteProcess;
            0   20     1   abi  Ljava/lang/String;
            5    6     2   ioe  Ljava/io/IOException;
           14   15     2   ioe  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           2     3       4  Class java.io.IOException
          11    12      13  Class java.io.IOException
    Exceptions:
      throws android.os.ZygoteStartFailedEx
    RuntimeInvisibleAnnotations: 
      com.android.internal.annotations.GuardedBy(value = "mLock")
    MethodParameters:
      Name  Flags
      abi   

  public boolean preloadPackageForAbi(java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=8, args_size=6
        start local 0 // android.os.ZygoteProcess this
        start local 1 // java.lang.String packagePath
        start local 2 // java.lang.String libsPath
        start local 3 // java.lang.String libFileName
        start local 4 // java.lang.String cacheKey
        start local 5 // java.lang.String abi
         0: .line 604
            aload 0 /* this */
            getfield android.os.ZygoteProcess.mLock:Ljava/lang/Object;
            dup
            astore 6
            monitorenter
         1: .line 605
            aload 0 /* this */
            aload 5 /* abi */
            invokevirtual android.os.ZygoteProcess.openZygoteSocketIfNeeded:(Ljava/lang/String;)Landroid/os/ZygoteProcess$ZygoteState;
            astore 7 /* state */
        start local 7 // android.os.ZygoteProcess$ZygoteState state
         2: .line 606
            aload 7 /* state */
            getfield android.os.ZygoteProcess$ZygoteState.writer:Ljava/io/BufferedWriter;
            ldc "5"
            invokevirtual java.io.BufferedWriter.write:(Ljava/lang/String;)V
         3: .line 607
            aload 7 /* state */
            getfield android.os.ZygoteProcess$ZygoteState.writer:Ljava/io/BufferedWriter;
            invokevirtual java.io.BufferedWriter.newLine:()V
         4: .line 609
            aload 7 /* state */
            getfield android.os.ZygoteProcess$ZygoteState.writer:Ljava/io/BufferedWriter;
            ldc "--preload-package"
            invokevirtual java.io.BufferedWriter.write:(Ljava/lang/String;)V
         5: .line 610
            aload 7 /* state */
            getfield android.os.ZygoteProcess$ZygoteState.writer:Ljava/io/BufferedWriter;
            invokevirtual java.io.BufferedWriter.newLine:()V
         6: .line 612
            aload 7 /* state */
            getfield android.os.ZygoteProcess$ZygoteState.writer:Ljava/io/BufferedWriter;
            aload 1 /* packagePath */
            invokevirtual java.io.BufferedWriter.write:(Ljava/lang/String;)V
         7: .line 613
            aload 7 /* state */
            getfield android.os.ZygoteProcess$ZygoteState.writer:Ljava/io/BufferedWriter;
            invokevirtual java.io.BufferedWriter.newLine:()V
         8: .line 615
            aload 7 /* state */
            getfield android.os.ZygoteProcess$ZygoteState.writer:Ljava/io/BufferedWriter;
            aload 2 /* libsPath */
            invokevirtual java.io.BufferedWriter.write:(Ljava/lang/String;)V
         9: .line 616
            aload 7 /* state */
            getfield android.os.ZygoteProcess$ZygoteState.writer:Ljava/io/BufferedWriter;
            invokevirtual java.io.BufferedWriter.newLine:()V
        10: .line 618
            aload 7 /* state */
            getfield android.os.ZygoteProcess$ZygoteState.writer:Ljava/io/BufferedWriter;
            aload 3 /* libFileName */
            invokevirtual java.io.BufferedWriter.write:(Ljava/lang/String;)V
        11: .line 619
            aload 7 /* state */
            getfield android.os.ZygoteProcess$ZygoteState.writer:Ljava/io/BufferedWriter;
            invokevirtual java.io.BufferedWriter.newLine:()V
        12: .line 621
            aload 7 /* state */
            getfield android.os.ZygoteProcess$ZygoteState.writer:Ljava/io/BufferedWriter;
            aload 4 /* cacheKey */
            invokevirtual java.io.BufferedWriter.write:(Ljava/lang/String;)V
        13: .line 622
            aload 7 /* state */
            getfield android.os.ZygoteProcess$ZygoteState.writer:Ljava/io/BufferedWriter;
            invokevirtual java.io.BufferedWriter.newLine:()V
        14: .line 624
            aload 7 /* state */
            getfield android.os.ZygoteProcess$ZygoteState.writer:Ljava/io/BufferedWriter;
            invokevirtual java.io.BufferedWriter.flush:()V
        15: .line 626
            aload 7 /* state */
            getfield android.os.ZygoteProcess$ZygoteState.inputStream:Ljava/io/DataInputStream;
            invokevirtual java.io.DataInputStream.readInt:()I
            ifne 16
            iconst_1
            goto 17
      StackMap locals: java.lang.Object android.os.ZygoteProcess$ZygoteState
      StackMap stack:
        16: iconst_0
      StackMap locals:
      StackMap stack: int
        17: aload 6
            monitorexit
        18: ireturn
        end local 7 // android.os.ZygoteProcess$ZygoteState state
        19: .line 604
      StackMap locals: android.os.ZygoteProcess java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String java.lang.Object
      StackMap stack: java.lang.Throwable
            aload 6
            monitorexit
        20: athrow
        end local 5 // java.lang.String abi
        end local 4 // java.lang.String cacheKey
        end local 3 // java.lang.String libFileName
        end local 2 // java.lang.String libsPath
        end local 1 // java.lang.String packagePath
        end local 0 // android.os.ZygoteProcess this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   21     0         this  Landroid/os/ZygoteProcess;
            0   21     1  packagePath  Ljava/lang/String;
            0   21     2     libsPath  Ljava/lang/String;
            0   21     3  libFileName  Ljava/lang/String;
            0   21     4     cacheKey  Ljava/lang/String;
            0   21     5          abi  Ljava/lang/String;
            2   19     7        state  Landroid/os/ZygoteProcess$ZygoteState;
      Exception table:
        from    to  target  type
           1    18      19  any
          19    20      19  any
    Exceptions:
      throws android.os.ZygoteStartFailedEx, java.io.IOException
    MethodParameters:
             Name  Flags
      packagePath  
      libsPath     
      libFileName  
      cacheKey     
      abi          

  public boolean preloadDefault(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // android.os.ZygoteProcess this
        start local 1 // java.lang.String abi
         0: .line 637
            aload 0 /* this */
            getfield android.os.ZygoteProcess.mLock:Ljava/lang/Object;
            dup
            astore 2
            monitorenter
         1: .line 638
            aload 0 /* this */
            aload 1 /* abi */
            invokevirtual android.os.ZygoteProcess.openZygoteSocketIfNeeded:(Ljava/lang/String;)Landroid/os/ZygoteProcess$ZygoteState;
            astore 3 /* state */
        start local 3 // android.os.ZygoteProcess$ZygoteState state
         2: .line 640
            aload 3 /* state */
            getfield android.os.ZygoteProcess$ZygoteState.writer:Ljava/io/BufferedWriter;
            ldc "1"
            invokevirtual java.io.BufferedWriter.write:(Ljava/lang/String;)V
         3: .line 641
            aload 3 /* state */
            getfield android.os.ZygoteProcess$ZygoteState.writer:Ljava/io/BufferedWriter;
            invokevirtual java.io.BufferedWriter.newLine:()V
         4: .line 642
            aload 3 /* state */
            getfield android.os.ZygoteProcess$ZygoteState.writer:Ljava/io/BufferedWriter;
            ldc "--preload-default"
            invokevirtual java.io.BufferedWriter.write:(Ljava/lang/String;)V
         5: .line 643
            aload 3 /* state */
            getfield android.os.ZygoteProcess$ZygoteState.writer:Ljava/io/BufferedWriter;
            invokevirtual java.io.BufferedWriter.newLine:()V
         6: .line 644
            aload 3 /* state */
            getfield android.os.ZygoteProcess$ZygoteState.writer:Ljava/io/BufferedWriter;
            invokevirtual java.io.BufferedWriter.flush:()V
         7: .line 646
            aload 3 /* state */
            getfield android.os.ZygoteProcess$ZygoteState.inputStream:Ljava/io/DataInputStream;
            invokevirtual java.io.DataInputStream.readInt:()I
            ifne 8
            iconst_1
            goto 9
      StackMap locals: java.lang.Object android.os.ZygoteProcess$ZygoteState
      StackMap stack:
         8: iconst_0
      StackMap locals:
      StackMap stack: int
         9: aload 2
            monitorexit
        10: ireturn
        end local 3 // android.os.ZygoteProcess$ZygoteState state
        11: .line 637
      StackMap locals: android.os.ZygoteProcess java.lang.String java.lang.Object
      StackMap stack: java.lang.Throwable
            aload 2
            monitorexit
        12: athrow
        end local 1 // java.lang.String abi
        end local 0 // android.os.ZygoteProcess this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   13     0   this  Landroid/os/ZygoteProcess;
            0   13     1    abi  Ljava/lang/String;
            2   11     3  state  Landroid/os/ZygoteProcess$ZygoteState;
      Exception table:
        from    to  target  type
           1    10      11  any
          11    12      11  any
    Exceptions:
      throws android.os.ZygoteStartFailedEx, java.io.IOException
    MethodParameters:
      Name  Flags
      abi   

  public static void waitForConnectionToZygote(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // java.lang.String socketName
         0: .line 656
            new android.net.LocalSocketAddress
            dup
            aload 0 /* socketName */
            getstatic android.net.LocalSocketAddress$Namespace.RESERVED:Landroid/net/LocalSocketAddress$Namespace;
            invokespecial android.net.LocalSocketAddress.<init>:(Ljava/lang/String;Landroid/net/LocalSocketAddress$Namespace;)V
         1: .line 655
            astore 1 /* address */
        start local 1 // android.net.LocalSocketAddress address
         2: .line 657
            aload 1 /* address */
            invokestatic android.os.ZygoteProcess.waitForConnectionToZygote:(Landroid/net/LocalSocketAddress;)V
         3: .line 658
            return
        end local 1 // android.net.LocalSocketAddress address
        end local 0 // java.lang.String socketName
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0  socketName  Ljava/lang/String;
            2    4     1     address  Landroid/net/LocalSocketAddress;
    MethodParameters:
            Name  Flags
      socketName  

  public static void waitForConnectionToZygote(android.net.LocalSocketAddress);
    descriptor: (Landroid/net/LocalSocketAddress;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // android.net.LocalSocketAddress address
         0: .line 665
            bipush 20
            istore 1 /* n */
        start local 1 // int n
         1: goto 13
         2: .line 667
      StackMap locals: int
      StackMap stack:
            aload 0 /* address */
            invokestatic android.os.ZygoteProcess$ZygoteState.connect:(Landroid/net/LocalSocketAddress;)Landroid/os/ZygoteProcess$ZygoteState;
            astore 2 /* zs */
        start local 2 // android.os.ZygoteProcess$ZygoteState zs
         3: .line 668
            aload 2 /* zs */
            invokevirtual android.os.ZygoteProcess$ZygoteState.close:()V
         4: .line 669
            return
        end local 2 // android.os.ZygoteProcess$ZygoteState zs
         5: .line 670
      StackMap locals:
      StackMap stack: java.io.IOException
            astore 2 /* ioe */
        start local 2 // java.io.IOException ioe
         6: .line 671
            ldc "ZygoteProcess"
         7: .line 672
            new java.lang.StringBuilder
            dup
            ldc "Got error connecting to zygote, retrying. msg= "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* ioe */
            invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         8: .line 671
            invokestatic android.util.Log.w:(Ljava/lang/String;Ljava/lang/String;)I
            pop
        end local 2 // java.io.IOException ioe
         9: .line 676
            ldc 1000
            invokestatic java.lang.Thread.sleep:(J)V
        10: .line 677
            goto 12
      StackMap locals:
      StackMap stack: java.lang.InterruptedException
        11: pop
        12: .line 665
      StackMap locals:
      StackMap stack:
            iinc 1 /* n */ -1
      StackMap locals:
      StackMap stack:
        13: iload 1 /* n */
            ifge 2
        end local 1 // int n
        14: .line 680
            ldc "ZygoteProcess"
            new java.lang.StringBuilder
            dup
            ldc "Failed to connect to Zygote through socket "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* address */
            invokevirtual android.net.LocalSocketAddress.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic android.util.Slog.wtf:(Ljava/lang/String;Ljava/lang/String;)I
            pop
        15: .line 681
            return
        end local 0 // android.net.LocalSocketAddress address
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   16     0  address  Landroid/net/LocalSocketAddress;
            1   14     1        n  I
            3    5     2       zs  Landroid/os/ZygoteProcess$ZygoteState;
            6    9     2      ioe  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           2     4       5  Class java.io.IOException
           9    10      11  Class java.lang.InterruptedException
    MethodParameters:
         Name  Flags
      address  

  public android.os.ChildZygoteProcess startChildZygote(java.lang.String, java.lang.String, int, int, int[], int, java.lang.String, java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;II[IILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/os/ChildZygoteProcess;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=16, locals=14, args_size=10
        start local 0 // android.os.ZygoteProcess this
        start local 1 // java.lang.String processClass
        start local 2 // java.lang.String niceName
        start local 3 // int uid
        start local 4 // int gid
        start local 5 // int[] gids
        start local 6 // int runtimeFlags
        start local 7 // java.lang.String seInfo
        start local 8 // java.lang.String abi
        start local 9 // java.lang.String instructionSet
         0: .line 697
            new android.net.LocalSocketAddress
            dup
         1: .line 698
            new java.lang.StringBuilder
            dup
            aload 1 /* processClass */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "/"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokestatic java.util.UUID.randomUUID:()Ljava/util/UUID;
            invokevirtual java.util.UUID.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         2: .line 697
            invokespecial android.net.LocalSocketAddress.<init>:(Ljava/lang/String;)V
            astore 10 /* serverAddress */
        start local 10 // android.net.LocalSocketAddress serverAddress
         3: .line 700
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            new java.lang.StringBuilder
            dup
            ldc "--zygote-socket="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 10 /* serverAddress */
            invokevirtual android.net.LocalSocketAddress.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aastore
            astore 11 /* extraArgs */
        start local 11 // java.lang.String[] extraArgs
         4: .line 704
            aload 0 /* this */
            aload 1 /* processClass */
            aload 2 /* niceName */
            iload 3 /* uid */
            iload 4 /* gid */
         5: .line 705
            aload 5 /* gids */
            iload 6 /* runtimeFlags */
            iconst_0
            iconst_0
            aload 7 /* seInfo */
         6: .line 706
            aload 8 /* abi */
            aload 9 /* instructionSet */
            aconst_null
            aconst_null
         7: .line 707
            iconst_1
            aload 11 /* extraArgs */
         8: .line 704
            invokevirtual android.os.ZygoteProcess.startViaZygote:(Ljava/lang/String;Ljava/lang/String;II[IIIILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Z[Ljava/lang/String;)Landroid/os/Process$ProcessStartResult;
            astore 12 /* result */
        start local 12 // android.os.Process$ProcessStartResult result
         9: .line 708
            goto 12
        end local 12 // android.os.Process$ProcessStartResult result
      StackMap locals: android.os.ZygoteProcess java.lang.String java.lang.String int int int[] int java.lang.String java.lang.String java.lang.String android.net.LocalSocketAddress java.lang.String[]
      StackMap stack: android.os.ZygoteStartFailedEx
        10: astore 13 /* ex */
        start local 13 // android.os.ZygoteStartFailedEx ex
        11: .line 709
            new java.lang.RuntimeException
            dup
            ldc "Starting child-zygote through Zygote failed"
            aload 13 /* ex */
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 13 // android.os.ZygoteStartFailedEx ex
        start local 12 // android.os.Process$ProcessStartResult result
        12: .line 712
      StackMap locals: android.os.Process$ProcessStartResult
      StackMap stack:
            new android.os.ChildZygoteProcess
            dup
            aload 10 /* serverAddress */
            aload 12 /* result */
            getfield android.os.Process$ProcessStartResult.pid:I
            invokespecial android.os.ChildZygoteProcess.<init>:(Landroid/net/LocalSocketAddress;I)V
            areturn
        end local 12 // android.os.Process$ProcessStartResult result
        end local 11 // java.lang.String[] extraArgs
        end local 10 // android.net.LocalSocketAddress serverAddress
        end local 9 // java.lang.String instructionSet
        end local 8 // java.lang.String abi
        end local 7 // java.lang.String seInfo
        end local 6 // int runtimeFlags
        end local 5 // int[] gids
        end local 4 // int gid
        end local 3 // int uid
        end local 2 // java.lang.String niceName
        end local 1 // java.lang.String processClass
        end local 0 // android.os.ZygoteProcess this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   13     0            this  Landroid/os/ZygoteProcess;
            0   13     1    processClass  Ljava/lang/String;
            0   13     2        niceName  Ljava/lang/String;
            0   13     3             uid  I
            0   13     4             gid  I
            0   13     5            gids  [I
            0   13     6    runtimeFlags  I
            0   13     7          seInfo  Ljava/lang/String;
            0   13     8             abi  Ljava/lang/String;
            0   13     9  instructionSet  Ljava/lang/String;
            3   13    10   serverAddress  Landroid/net/LocalSocketAddress;
            4   13    11       extraArgs  [Ljava/lang/String;
            9   10    12          result  Landroid/os/Process$ProcessStartResult;
           12   13    12          result  Landroid/os/Process$ProcessStartResult;
           11   12    13              ex  Landroid/os/ZygoteStartFailedEx;
      Exception table:
        from    to  target  type
           4     9      10  Class android.os.ZygoteStartFailedEx
    MethodParameters:
                Name  Flags
      processClass    final
      niceName        final
      uid             
      gid             
      gids            
      runtimeFlags    
      seInfo          
      abi             
      instructionSet  
}
SourceFile: "ZygoteProcess.java"
NestMembers:
  android.os.ZygoteProcess$ZygoteState
InnerClasses:
  public final Namespace = android.net.LocalSocketAddress$Namespace of android.net.LocalSocketAddress
  public final ProcessStartResult = android.os.Process$ProcessStartResult of android.os.Process
  public ZygoteState = android.os.ZygoteProcess$ZygoteState of android.os.ZygoteProcess